Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.07.2016, 13:22
Аспирант
Отправить личное сообщение для Sokoljr Посмотреть профиль Найти все сообщения от Sokoljr
 
Регистрация: 27.06.2016
Сообщений: 68

как правильно сделать валидацию?
не работает корректно, а добавить проверку на другие формы, так вообще ничего не работает



<!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>
Ответить с цитированием
  #2 (permalink)  
Старый 01.07.2016, 13:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

number < 1 || number > 99 - то есть, если годовалый ребенок пишет, то все в норме, а если 9 месячный, то не умеет писать, и аксакал за 100 лет не имеет права?
Ответить с цитированием
  #3 (permalink)  
Старый 01.07.2016, 13:29
Аспирант
Отправить личное сообщение для Sokoljr Посмотреть профиль Найти все сообщения от Sokoljr
 
Регистрация: 27.06.2016
Сообщений: 68

laimas,
ну это просто пример, к этому придира ться не стоит
Ответить с цитированием
  #4 (permalink)  
Старый 01.07.2016, 13:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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>

Последний раз редактировалось рони, 01.07.2016 в 13:57.
Ответить с цитированием
  #5 (permalink)  
Старый 01.07.2016, 13:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Я не придираюсь, просто без улыбки такие условия читать невозможно. )

А чтобы обработчик работал для всех форм, нужно повесить его на каждую форму, то есть обойти их циклом и назначить для события onsubmit.
Ответить с цитированием
  #6 (permalink)  
Старый 01.07.2016, 13:52
Аспирант
Отправить личное сообщение для Sokoljr Посмотреть профиль Найти все сообщения от Sokoljr
 
Регистрация: 27.06.2016
Сообщений: 68

рони,
Корректно работать не будет, там выскакивает undefind постоянно
Ответить с цитированием
  #7 (permalink)  
Старый 01.07.2016, 13:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Sokoljr
Корректно работать не будет, там выскакивает undefind постоянно
не понимаю вас
Ответить с цитированием
  #8 (permalink)  
Старый 01.07.2016, 13:55
Аспирант
Отправить личное сообщение для Sokoljr Посмотреть профиль Найти все сообщения от Sokoljr
 
Регистрация: 27.06.2016
Сообщений: 68

рони,
при нажатии на кнопку, с условием что введен верный возраст, будет выскакивать undefind в диве с result на какие то доли секунды
Ответить с цитированием
  #9 (permalink)  
Старый 01.07.2016, 13:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Sokoljr,
убрал
Ответить с цитированием
  #10 (permalink)  
Старый 01.07.2016, 14:04
Аспирант
Отправить личное сообщение для Sokoljr Посмотреть профиль Найти все сообщения от Sokoljr
 
Регистрация: 27.06.2016
Сообщений: 68

рони,
спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно обновить div из БД в MVC??? espltd AJAX и COMET 2 11.04.2014 01:28
Как сделать валидацию типа "radio" ? lamer Общие вопросы Javascript 5 04.07.2012 20:39
Как сделать загрузку изображения аля вконтакте? OklickSpb Общие вопросы Javascript 4 31.03.2012 17:12
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
try и catch подскажите как правильно сделать Jekel Javascript под браузер 9 31.03.2010 10:33