Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   формы и ещё раз они (http://forum.oszone.net/showthread.php?t=71810)

oIo_DeN_oIo 23-09-2006 22:10 488698

формы и ещё раз они
 
Подскажите как сделать примерно такую же форму
http://www.yourdesign.ru/order.php?q...&x=prices#form
Есть ли проги, скрипты толковые желательно чтоб с выщетом суммы как на примере.
Спасибо

Strange_V 23-09-2006 23:36 488723

Вот упрощений вариант
HTML код:

<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 488727

а как пригвоздить этот код к кнопке отправить на мыло? с этим то какраз проблемы.... спасибо за код!

Vlad Drakula 24-09-2006 00:03 488730

oIo_DeN_oIo
Цитата:

а как пригвоздить этот код к кнопке отправить на мыло? с этим то какраз проблемы.... спасибо за код!
просто создать хидден элемент в форме и менять его значение.

oIo_DeN_oIo 24-09-2006 00:26 488738

а можно по-подробнее на примере кода выше?

Vlad Drakula 24-09-2006 00:35 488742

suma=document.getElementById("suma");
suma.value=ss;
вот этот кусок отвечает за изменение едитбокса со значением суммы, который отвравится вместе с формой на сервер при отправке.

Strange_V 24-09-2006 00:49 488747

Цитата:

suma=document.getElementById("suma");
suma.value=ss;
вот этот кусок отвечает за изменение едитбокса со значением суммы, который отвравится вместе с формой на сервер при отправке.
нужно только дать ему имя
HTML код:

<input type="text" id="suma" name="ssuma" value="0">
и на стороне сервера принять $_POST['ssuma'] (ну или $_GET['ssuma'], какой метод поставишь)

oIo_DeN_oIo 24-09-2006 13:43 488863

я имел ввиду как мне сделать имея форму (например приведенную выше) кнопку отправить
вот вариант
Код:

<input type="submit" value="отправить">
но надо же ворме указать через какой скрипт отправлять то. а с этим проблемы.
Был когда то такой вариант в начале формы пишешь
Код:

<form method="post" action="send.phtml">
но этот send.phtml отправляет в плохой кодировке...не читабельной... в почтовике...
содержание его
PHP код:

<?
$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 488867

т.е. тебе надо сам скрипт отправки данных на мыло (на php)?

oIo_DeN_oIo 24-09-2006 17:21 488920

Да надо сам скрипт.
Просто выше указанный собирает данные из формы но письмо приходит в таком содержании
: Пупкин Василий
: ppkin@mail.ru
: 304
:
Перед двоеточиями надобы вставить имена полей ФИО для первого поля... притом name"fData[1]" надо писать для каждого поля для обтработчика (скрипта)

Strange_V 24-09-2006 19:45 488952

Пример (JS вырезал)
HTML код:

<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 код:

<?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 489538

Спасибо поробую.. теперь знаю как указывать поля в обработчике скрипта..
Проблема только в этом:
Код:

<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 489963

Ех...
На счет "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 490064

уже разобрался во всём.. но за аттач спасибо.!
Только вот как сделать редирект в обработчике на страницу: спасибо форма отправлена... а то белый экран...и всё

Strange_V 27-09-2006 19:36 490459

<meta http-equiv="refresh" content="0;URL=test.php">


Время: 14:17.

Время: 14:17.
© OSzone.net 2001-