Показать полную графическую версию : формы и ещё раз они
oIo_DeN_oIo
23-09-2006, 22:10
Подскажите как сделать примерно такую же форму
http://www.yourdesign.ru/order.php?quiery=flash&x=prices#form
Есть ли проги, скрипты толковые желательно чтоб с выщетом суммы как на примере.
Спасибо
Strange_V
23-09-2006, 23:36
Вот упрощений вариант
<script language="JavaScript">
function sums() {
ss=0;
for (i=0; i<4; i++){
el=document.getElementById("r"+i);
if (el.checked==true)
ss=ss+parseInt(el.value);
}
suma=document.getElementById("suma");
suma.value=ss;
}
</script>
<form name="summ" action="" onmouseover="sums()">
<input type="checkbox" id="r0" value="125" OnClick="sums()">Number 0<br>
<input type="checkbox" id="r1" value="5" OnClick="sums()">Number 1<br>
<input type="checkbox" id="r2" value="17" OnClick="sums()">Number 2<br>
<input type="checkbox" id="r3" value="205" OnClick="sums()">Number 3<br>
<input type="text" id="suma" value="0">
</form>
По аналогии добавляться еще элементы…
oIo_DeN_oIo
23-09-2006, 23:51
а как пригвоздить этот код к кнопке отправить на мыло? с этим то какраз проблемы.... спасибо за код!
Vlad Drakula
24-09-2006, 00:03
oIo_DeN_oIo
а как пригвоздить этот код к кнопке отправить на мыло? с этим то какраз проблемы.... спасибо за код!
просто создать хидден элемент в форме и менять его значение.
oIo_DeN_oIo
24-09-2006, 00:26
а можно по-подробнее на примере кода выше?
Vlad Drakula
24-09-2006, 00:35
suma=document.getElementById("suma");
suma.value=ss;
вот этот кусок отвечает за изменение едитбокса со значением суммы, который отвравится вместе с формой на сервер при отправке.
Strange_V
24-09-2006, 00:49
suma=document.getElementById("suma");
suma.value=ss;
вот этот кусок отвечает за изменение едитбокса со значением суммы, который отвравится вместе с формой на сервер при отправке.
нужно только дать ему имя
<input type="text" id="suma" name="ssuma" value="0">
и на стороне сервера принять $_POST['ssuma'] (ну или $_GET['ssuma'], какой метод поставишь)
oIo_DeN_oIo
24-09-2006, 13:43
я имел ввиду как мне сделать имея форму (например приведенную выше) кнопку отправить
вот вариант
<input type="submit" value="отправить">
но надо же ворме указать через какой скрипт отправлять то. а с этим проблемы.
Был когда то такой вариант в начале формы пишешь <form method="post" action="send.phtml">
но этот send.phtml отправляет в плохой кодировке...не читабельной... в почтовике...
содержание его
<?
$fText="$fTitle\n\n";
for ($i=1;$i<=$fCount;$i++) {$fText.=$fName[$i].": ".$fData[$i]."\n";}
$fText.="\n\n";
$fText.=date("l dS of F Y h:i:s A");
if (mail($fMail,$fSubject,$fText)) {Header("Location: $fOk");}
else {Header("Location: $fBad");}
exit;
?>
Strange_V
24-09-2006, 13:49
т.е. тебе надо сам скрипт отправки данных на мыло (на php)?
oIo_DeN_oIo
24-09-2006, 17:21
Да надо сам скрипт.
Просто выше указанный собирает данные из формы но письмо приходит в таком содержании
: Пупкин Василий
: ppkin@mail.ru
: 304
:
Перед двоеточиями надобы вставить имена полей ФИО для первого поля... притом name"fData[1]" надо писать для каждого поля для обтработчика (скрипта)
Strange_V
24-09-2006, 19:45
Пример (JS вырезал)
<form name="summ" action="script.php" method="post" onmouseover="sums()">
Name <input type="text" name="name"><br>
E-mail <input type="text"name="mail"><br>
Number 0 <input type="checkbox" id="r0" value="125" OnClick="sums()"><br>
.................
Number 3 <input type="checkbox" id="r3" value="205" OnClick="sums()"><br>
<input type="text" name="ssuma" id="suma" value="0"><br>
<input type="submit" value="Send">
</form>
script.php
<?php
$date = date ('d.m.Y, H:i');
$text = "Name: $_POST[name]\nE-mail: $_POST[mail]\nSum: $_POST[ssuma]\n\n$date";
mail ('root@127.0.0.1', 'Zakaz', $text, 'Content-Type: text/plain; charset=windows-1251');
?>
В результате
Name: Pupkin
E-mail: pupkin@mail
Sum: 147
24.09.2006, 18:13
притом name"fData[1]" надо писать для каждого поля для обтработчика (скрипта)
не понял...
oIo_DeN_oIo
25-09-2006, 23:54
Спасибо поробую.. теперь знаю как указывать поля в обработчике скрипта..
Проблема только в этом:
<form method="POST" action="sender.php">
<p>
<input type="radio" value="4676" checked name="56">
<input type="radio" name="name1" value="56">
<input type="radio" name="mail" value="746">
<input type="submit" value="Отправить" name="5645"><input type="reset" value="Сброс" name="646"></p>
</form>
точки выбираются все по нажатию, а не одна из перечисленных...это ничего если каждый переключатель будет в отдельной яйчейке?
не знаю сложно ли это или нет но по форме что по ссылке точка или галочка выбираются по клику в любой точке стороки т.е. нет необходимости кликать точно на точку или чекер чтобы выбрать его.
Strange_V
26-09-2006, 19:49
Ех...
На счет "radio" попробуй указать одинаковые имена ;)
это ничего если каждый переключатель будет в отдельной яйчейке?
по барабану…
не знаю сложно ли это или нет но по форме что по ссылке точка или галочка выбираются по клику в любой точке стороки т.е. нет необходимости кликать точно на точку или чекер чтобы выбрать его.
не сложно…
в каждом "<tr>" (для radio) нужно дописать
OnClick="javascript:if (document.getElementById('r0').checked==false){document.getElementById('r0').checked=true};sums()" style='cursor:hand'
Смотри аттач…
oIo_DeN_oIo
27-09-2006, 00:29
уже разобрался во всём.. но за аттач спасибо.!
Только вот как сделать редирект в обработчике на страницу: спасибо форма отправлена... а то белый экран...и всё
Strange_V
27-09-2006, 19:36
<meta http-equiv="refresh" content="0;URL=test.php">
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.