как правильно сделать валидацию?
не работает корректно, а добавить проверку на другие формы, так вообще ничего не работает
<!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, время: 19:00. |