Помогите с обработкой формы
Всем привет. Прошу помощи в обработке формы, никак не могу понять что нужно скрипту, чтобы хотя бы затенить вторую строку.
<body onLoad="Svedenie()"> <form name="Ceny" action="" method="post" style="margin-left:auto; margin-right:auto"> <table width="390" style="border: 2px solid #CCC; background:#3e3e3e"> <tr> <td class="text" width="190px">СВЕДЕНИЕ:</td> <td > <select onchange="CSvedenie()" name="Svedenie" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="Yes" selected="selected">Да</option> <option value="No">Нет</option> </select> </td> </tr> <tr> <td class="text">Количество дорожек wav:</td> <td> <select onchange="CKolvoDorogi()" name="KolvoDorogi" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="1" selected="selected">до 10-ти шт.</option> <option value="2">от 10 до 13 шт.</option> <option value="3">от 13 до 16 шт.</option> <option value="4">от 16 до 19 шт.</option> <option value="5">от 19 до 21 шт.</option> <option value="6">от 21 до 24 шт.</option> <option value="7">от 24 до 27 шт.</option> <option value="8">от 27 до 30 шт.</option> </select></td> </tr> <tr> <td class="text">МАСТЕРИНГ:</td> <td> <input onchange="CMastering()" name="Mastering" type="radio" value="Yes" checked>Да <input onchange="CMastering()" name="Mastering" type="radio" value="No" >Нет </td> </tr> <tr> <td class="text">Количество минут:</td> <td><select onchange="MasteringChange()" name="MasteringChange" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="1" selected="selected">До 5 минут</option> <option value="2">От 5 до 10 минут</option> <option value="3">От 10 до 15 минут</option> <option value="4">От 15 до 20 минут</option> <option value="4">От 20 до 25 минут</option> <option value="4">От 25 до 30 минут</option> </select></td> </tr> <tr > <th class="stylered" align="left">ИТОГО (руб.):</th> <td><input name="TarifTotal" type="text" class="styleredbig" style="width: 200px; color:#9a9a9a; background:#3e3e3e;" /> <input type="hidden" name="txtorder" /> </td> </tr> </table> </form> <script type="text/javascript" language="JavaScript"> function Svedenie() { var SvedenieValue = document.Ceny.Svedenie.value if( SvedenieValue == 'No' ) {document.Ceny.KolvoDorogi.disabled = false;} else { if( SvedenieValue == 'Yes' ) {document.Ceny.KolvoDorogi.disabled = true;}} } </script> </body> |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам. |
исправил, надеюсь правильно, хотя бы подскажите в чем ошибка
|
k3b3,
Определитесь с названием функции строки 1 , 8 и в скрипте 2 , исправьте синтаксис в скрипте if () { } else if() { } |
О да, всем спасибо, я дошел %)) Оказывается рулит onchange %))
|
Возникла другая проблема.
Функции написал, как сделать так, чтобы в последней строке формы вылезала строка с ценой при загрузке страницы и дальнейшем изменении полей. Подскажите где копать. <body> <form name="Ceny" action="" method="post" style="margin-left:auto; margin-right:auto"> <table style="border: 2px solid #CCC; background:#3e3e3e"> <tr> <td class="text">СВЕДЕНИЕ:</td> <td > <select onchange="CSvedenie()" name="Svedenie" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="Yes" >Да</option> <option value="No" selected="selected">Нет</option> </select> </td> </tr> <tr> <td class="text">Количество дорожек wav:</td> <td> <select onchange="CKolvoDorogi()" name="KolvoDorogi" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="1" selected="selected">до 10-ти шт.</option> <option value="2">от 10 до 13 шт.</option> <option value="3">от 13 до 16 шт.</option> <option value="4">от 16 до 19 шт.</option> <option value="5">от 19 до 22 шт.</option> <option value="6">от 22 до 25 шт.</option> <option value="7">от 25 до 28 шт.</option> <option value="8">от 28 до 31 шт.</option> </select></td> </tr> <tr> <td class="text">МАСТЕРИНГ:</td> <td> <select onchange="CMastering()" name="Mastering" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="Yes" >Да</option> <option value="No" selected="selected">Нет</option> </select> </td> </tr> <tr> <td class="text">Количество минут:</td> <td><select onchange="CMasteringChange()" name="MasteringChange" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="1" selected="selected">До 5 минут</option> <option value="2">От 5 до 10 минут</option> <option value="3">От 10 до 15 минут</option> <option value="4">От 15 до 20 минут</option> <option value="5">От 20 до 25 минут</option> <option value="6">От 25 до 30 минут</option> </select></td> </tr> <tr > <th class="stylered" align="left">ИТОГО (руб.):</th> <td><input name="TarifTotal" type="text" class="styleredbig" style="width: 200px; color:#9a9a9a; background:#3e3e3e;" /> <input type="hidden" name="txtorder" /> </td> </tr> </table> </form> <script> <!-- var kolvdorogi; var kolvminut; var svedenieitogo; /// переменная на сведение var masteringitogo; /// переменная на мастеринг var itogo = svedenieitogo + masteringitogo; /// Итого //////////////////////////////////////////////////// Функция Количество дорожек wav: function CKolvoDorogi() { var KolvoDorogiValue = document.Ceny.KolvoDorogi.value if (KolvoDorogiValue == '1') { kolvdorogi = 300; } else if (KolvoDorogiValue == '2') { kolvdorogi = 390; } else if (KolvoDorogiValue == '3') { kolvdorogi = 480; } else if (KolvoDorogiValue == '4') { kolvdorogi = 570; } else if (KolvoDorogiValue == '5') { kolvdorogi = 660; } else if (KolvoDorogiValue == '6') { kolvdorogi = 750; } else if (KolvoDorogiValue == '7') { kolvdorogi = 840; } else { kolvdorogi = 930; } } //////////////////////////////////////////////////// Функция СВЕДЕНИЕ ДА НЕТ function CSvedenie() { var SvedenieValue = document.Ceny.Svedenie.value if (SvedenieValue == 'Yes') { Ceny.KolvoDorogi.disabled = false; svedenieitogo = kolvdorogi; } else { Ceny.KolvoDorogi.disabled = true; svedenieitogo = 0; } CKolvoDorogi(); } //////////////////////////////////////////////////// Функция Количество минут: function CMasteringChange() { var MasteringChangevalue = document.Ceny.MasteringChange.value if (MasteringChangevalue == '1') { kolvminut = 200; } else if (MasteringChangevalue == '2') { kolvminut = 400; } else if (MasteringChangevalue == '3') { kolvminut = 600; } else if (MasteringChangevalue == '4') { kolvminut = 800; } else if (MasteringChangevalue == '5') { kolvminut = 1000; } else { kolvminut = 1200; } } //////////////////////////////////////////////////// Функция МАСТЕРИНГ ДА НЕТ function CMastering() { var MasteringValue = document.Ceny.Mastering.value if (MasteringValue == 'Yes') { Ceny.MasteringChange.disabled = false; masteringitogo = kolvminut; } else { Ceny.MasteringChange.disabled = true; masteringitogo = 0 } CMasteringChange(); } //////////////////////////////////////////////////// window.onload = function Calculate2() { CSvedenie(); CMastering(); } //--> </script> </body> |
Цитата:
|
Цитата:
Вот у меня есть куча функций, которые загружаются при загрузке страницы последней функцией. Эти функции действуют только при изменении полей форм, т.е. var(ы) нужно изначально приравнять к нулю. Вот в каком дальше направлении копать не совсем ясно. |
k3b3, ам )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=windows-1251" /> </head> <body> <form name="Ceny" action="" method="post" style="margin-left:auto; margin-right:auto"> <table style="border: 2px solid #CCC; background:#3e3e3e"> <tr> <td class="text">СВЕДЕНИЕ:</td> <td > <select onchange="itogo()" name="Svedenie" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="Yes" >Да</option> <option value="No" selected="selected">Нет</option> </select> </td> </tr> <tr> <td class="text">Количество дорожек wav:</td> <td> <select onchange="itogo()" name="KolvoDorogi" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="1" selected="selected">до 10-ти шт.</option> <option value="2">от 10 до 13 шт.</option> <option value="3">от 13 до 16 шт.</option> <option value="4">от 16 до 19 шт.</option> <option value="5">от 19 до 22 шт.</option> <option value="6">от 22 до 25 шт.</option> <option value="7">от 25 до 28 шт.</option> <option value="8">от 28 до 31 шт.</option> </select></td> </tr> <tr> <td class="text">МАСТЕРИНГ:</td> <td> <select onchange="itogo()" name="Mastering" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="Yes" >Да</option> <option value="No" selected="selected">Нет</option> </select> </td> </tr> <tr> <td class="text">Количество минут:</td> <td><select onchange="itogo()" name="MasteringChange" style="width: 200px; color:#9a9a9a; background:#3e3e3e;"> <option value="1" selected="selected">До 5 минут</option> <option value="2">От 5 до 10 минут</option> <option value="3">От 10 до 15 минут</option> <option value="4">От 15 до 20 минут</option> <option value="5">От 20 до 25 минут</option> <option value="6">От 25 до 30 минут</option> </select></td> </tr> <tr > <th class="stylered" align="left">ИТОГО (руб.):</th> <td><input name="TarifTotal" type="text" class="styleredbig" style="width: 200px; color:#9a9a9a; background:#3e3e3e;" /> <input type="hidden" name="txtorder" /> </td> </tr> </table> </form> <script> function itogo() { var SvedenieValue = (document.Ceny.Svedenie.value == 'Yes'); document.Ceny.KolvoDorogi.disabled = !SvedenieValue; var KolvoDorogiValue = +document.Ceny.KolvoDorogi.value; var svedenieitogo = SvedenieValue? [0,300,390,480,570,660,750,840,930][KolvoDorogiValue]:0; var MasteringValue = (document.Ceny.Mastering.value == 'Yes') document.Ceny.MasteringChange.disabled = !MasteringValue; var MasteringChangevalue = +document.Ceny.MasteringChange.value; var masteringitogo = MasteringValue? [0,200,400,600,800,1000,1200][MasteringChangevalue]:0; document.Ceny.TarifTotal.value = svedenieitogo + masteringitogo } window.onload = function () { itogo() } </script> </body> </html> |
Мда, ну капец, оптимизация %)) Спасибо, Рони. Если нужно свести и отмастерить трек - обращайся, сделаю бесплатно %). Мдаа, нужно учить скрипт %)
|
Часовой пояс GMT +3, время: 12:24. |