Не срабатывает проверка формы
написал скрипт проверки формы по нажатию кнопки
function check_form() { var field_width = document.getElementById('width').value; var field_height = document.getElementById('height').value; function validate_width() { return !isNaN(parseFloat(field_width)) && isFinite (field_width); }; function validate_height() { return !isNaN(parseFloat(field_height)) && isFinite (field_height); }; function check_valid() { valid = true; if ( validate_width == false ) { alert ( "Пожалуйста заполните поле 'Ширина'." ); valid = false; }; if (validate_height == false){ alert ( "Пожалуйста заполните поле 'Длина'." ); valid = false; }; return valid; }; if (check_valid != false) document.set_size.submit() ; }; Только беда - субмит происходит в любом случае. Не подскажете где не так? |
если ты не хочешь, чтобы форма отправлялась до положительной проверки, то в onsubmit формы нужно вписать return false;
и при положительном результате удалять этот onsubmit |
Так в моём коде вообще отправки не должно происходить если значение функции ложно
|
Beegun, намекну.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="" name="myForm"> <input type="text" name="myInput"> <input type="submit"> </form> <script> document.myForm.onsubmit = function(e) { // намекаю на это. //e.preventDefault(); var error = false; if (!this.myInput.value) { error = true; } if (!error) { alert('this.submit()'); //this.submit(); } // или это return false; } </script> </body> </html> |
Цитата:
... if ( validate_width() == false ) ... if ( validate_height() == false ) ... if (check_valid() != false) document.set_size.submit() ; |
В процессе преобразований и поиска лишних "запчастей" код мутировал в
var check_valid = false; function check_form() { alert('click') if (!isNaN(parseInt(check_width)) && isFinite(check_width) && !isNaN(parseInt(check_height)) && isFinite (check_height) != false) {check_valid = true}; if (check_valid != false) {document.set_size.submit()} }; но возникла проблема переменная получает пустое значение формы. создал новую тему |
Часовой пояс GMT +3, время: 02:38. |