как правильно сделать валидацию?
не работает корректно, а добавить проверку на другие формы, так вообще ничего не работает
<!DOCTYPE html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="css/reset.css"> <link rel="stylesheet" type="text/css" href="css/style.css"> <title>Watch</title> </head> <body> <form name="add"> <p>Введите имя:</p> <input id="name" type="text"> <p>Введите фамилию:</p> <input id="surname" type="text"> <p>Введите возраст:</p> <input id="age" type="text"> <p>Введите свой email:</p> <input id="email" type="text"> <p>Введите свой пол:</p> <input id="gender" type="text"> <input id="addForm" type="submit" value="Отправить"> </form> <p id="result"></p> <script> var form = document.forms.add; form.onsubmit = function(e) { e.preventDefault(); var result; function age() { var number; number = document.getElementById("age").value; if (isNaN(number) || number < 1 || number > 99) { result = "Неверный возраст"; } else { result = " "; } document.getElementById('result').innerHTML = result; } age(); this.submit(); } </script> </body> </html> |
number < 1 || number > 99 - то есть, если годовалый ребенок пишет, то все в норме, а если 9 месячный, то не умеет писать, и аксакал за 100 лет не имеет права? :)
|
laimas,
ну это просто пример, к этому придира:( ться не стоит |
Sokoljr,
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="css/reset.css"> <link rel="stylesheet" type="text/css" href="css/style.css"> <title>Watch</title> </head> <body> <form name="add"> <p>Введите имя:</p> <input id="name" type="text"> <p>Введите фамилию:</p> <input id="surname" type="text"> <p>Введите возраст:</p> <input id="age" type="text"> <p>Введите свой email:</p> <input id="email" type="text"> <p>Введите свой пол:</p> <input id="gender" type="text"> <input id="addForm" type="submit" value="Отправить"> </form> <p id="result"></p> <script> var form = document.forms.add; form.onsubmit = age function age() { var number, result; number = +document.getElementById("age").value; if (isNaN(number) || number < 1 || number > 99) { result = "Неверный возраст"; document.getElementById('result').innerHTML = result; } return !result } </script> </body> </html> |
Я не придираюсь, просто без улыбки такие условия читать невозможно. )
А чтобы обработчик работал для всех форм, нужно повесить его на каждую форму, то есть обойти их циклом и назначить для события onsubmit. |
рони,
Корректно работать не будет, там выскакивает undefind постоянно |
Цитата:
|
рони,
при нажатии на кнопку, с условием что введен верный возраст, будет выскакивать undefind в диве с result на какие то доли секунды |
Sokoljr,
убрал |
рони,
спасибо |
Часовой пояс GMT +3, время: 20:31. |