[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: функция по onsubmit работает только со 2го раза
Yulk
Есть форма и скрипт, проверяющий правильность заполнения полей. Проблема в том, что при нажатии кнопки submit в первый раз форма отправляется даже если есть ошибки в заполнении полей( при этом сами сообщения появляются до перезагрузки страницы), при втором и следующих нажатиях при изменении полей все работает как надо...
форма:
<form action="" method="post" name="mortg_calc" onsubmit="return mortgcalculator();">
<label>
You current age, years:</label>
<input
type="text" class="term_calc" name="question2" id="quest2" value="<?=$question2?>" />
<label>
Insurance term, years:</label>
<input
type="text" class="term_calc" name="question3" id="quest3" value="<?=$question3?>"/>
<input
type="submit" class="term_calc_btn" id="st1-next" onclick="return mortgcalculator();" value=""/>

скрипт:
function mortgcalculator() {
var res = true;
if (document.getElementById('quest2').value == '' || parseInt(document.getElementById('quest2').value) < 18 || parseInt(document.getElementById('quest2').value) > 70) {
document.getElementById('err-2').style.display = '';
document.getElementById('result').style.display = 'none';
res = false;
} else {document.getElementById('err-2').style.display = 'none';}
if (document.getElementById('quest3').value == '' || parseInt(document.getElementById('quest3').value) < 1 || parseInt(document.getElementById('quest3').value) > 35) {
document.getElementById('err-3').style.display = '';
document.getElementById('result').style.display = 'none';
res = false;
} else {document.getElementById('err-3').style.display = 'none';}

return res;
}




Спустя 29 минут, 49 секунд (8.09.2011 - 15:48) sadon написал(а):
<input type="submit" class="term_calc_btn" id="st1-next" onclick="return mortgcalculator();" value=""/>

убрать дубли,
<input type="submit" class="term_calc_btn" id="st1-next" value=""/>

у Вас когда происходит сабмит и так это высчитывается. А вообще если нажимаете сразу, то может JS еще не успевает прогрузиться?
JS код раньше ведь PHP вызывается, да?

Спустя 56 минут, 13 секунд (8.09.2011 - 16:44) Mirexzpalich написал(а):
Что-то не видно у вас элементов с id err-3 и err-2...

Спустя 14 часов, 22 минуты, 40 секунд (9.09.2011 - 07:07) Yulk написал(а):

<div class="error_mess" id="err-2" style="display:none";>Please, enter your Current Age value between 18 and 70</div>
<
div class="error_mess" id="err-3" style="display:none";>Please, enter your Insurance term value between 1 and 35</div>
<?if($_POST['act']=='calc'){
// print results
echo"<div class='result_perm' id='result'>$result</div>";
}?>


Вот эти элементы, мне кажется просто не в них проблема а где-то в скрипте...


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.