Javascript.RU

 
 
Опции темы
 
Старый 20.09.2017, 02:15
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Проверка на заполнение
Нужно сделать проверку. При клике по "Отправить", нужно проверить все ли поля заполнены, если нет то сообщение "Не все поля заполнены"
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<div class="content">
	<input type="text" class="data"><input type="text" class="names"><br>
</div><br>
<button id="add">Добавить</button><button id="send">Отправить/button>
<script>
$('#add').on('click', function(){
	$('.content').append('<input type="text" class="data"><input type="text" class="names"><br>');	
});
</script>
 
Старый 20.09.2017, 02:36
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<div class="content">
		<input type="text" class="data"><input type="text" class="names"><br>
	</div><br>
	<button id="add">Добавить</button><button id="send">Отправить</button>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
		$('#add').on('click', function(){
			$('.content').append('<input type="text" class="data"><input type="text" class="names"><br>');	
		});
		$('#send').on('click', function(){
			var a = 0;
			$('input').each(function(){
				if($(this).val().length<3) a = 1;
			});
			if(a) alert("Не все поля заполнены");
		});
	</script>
</body>
</html>
 
Старый 20.09.2017, 09:08
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Спасибо большое
 
Старый 20.09.2017, 10:49
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

j0hnik,
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div class="content">
    <input type="text" class="data">
    <input type="text" class="names">
    <br></div>
  <br>
  <button id="add">Добавить</button>
  <button id="send">Отправить</button>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script>
    $('#add').on('click', function(){
      $('.content').append('<input type="text" class="data"><input type="text" class="names"><br>');  
    });
    $('#send').on('click', function(){
      var a = $('input').filter(function(i, v) {
        return v.value.length<3;
      });
      if(a.length) alert("Не все поля заполнены");
    });
  </script></body>
</html>
 
Старый 20.09.2017, 11:26
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Rasy,
Можно и так, вариантов тут на самом деле много
 
Старый 20.09.2017, 12:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div class="content">
    <input type="text" class="data">
    <input type="text" class="names">
    <br></div>
  <br>
  <button id="add">Добавить</button>
  <button id="send">Отправить</button>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script>
    $('#add').on('click', function(){
      $('.content').append('<input type="text" class="data"><input type="text" class="names"><br>');  
    });
    $('#send').on('click', function(){
      if([].some.call($('input'), el=> el.value.length < 3)) alert("Не все поля заполнены");
    });
  </script></body>
</html>
 
Старый 20.09.2017, 12:54
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от j0hnik
Можно и так, вариантов тут на самом деле много
Согласен. Но. Если писать на jQuery лучше использовать подходящий для этого метод.
Метод массива some - нативный, и совместное использование с либой не совсем целесообразно. Плюс слабая поддержка синтаксиса es6.
 
Старый 20.09.2017, 13:01
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Это я в качестве примера. насчет es6 согласен, а вот использовать ли нативные методы в JQ, если запись короче и быстрей, почему бы и нет, тут мешает только этическая точка зрения "чистоты кода".
 
Старый 20.09.2017, 13:12
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от j0hnik
если запись короче и быстрей
Я об этом и говорю. На мой взгляд проще и быстрее написать метод filter, чем some.
 
Старый 20.09.2017, 13:15
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Rasy,
на счет быстрей, filter будет до конца перебирать, some как только найдет сразу вернет true не перебирая до конца.
 

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS, <SELECT> заполнение bma2004 Общие вопросы Javascript 6 13.11.2016 13:48
Проверка textarea на заполнение из файла espltd Элементы интерфейса 10 30.06.2015 15:48
Чтение значений и проверка на заполнение с присвоением значения id dim99 Общие вопросы Javascript 2 06.05.2014 09:32
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Проверка формы на заполнение ybiza Элементы интерфейса 3 03.11.2010 22:28


© Илья Кантор, 2007-2021 О проекте - Архив форума - Вверх