Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 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>
Ответить с цитированием
  #2 (permalink)  
Старый 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>
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2017, 09:08
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Спасибо большое
Ответить с цитированием
  #4 (permalink)  
Старый 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>
Ответить с цитированием
  #5 (permalink)  
Старый 20.09.2017, 11:26
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Rasy,
Можно и так, вариантов тут на самом деле много
Ответить с цитированием
  #6 (permalink)  
Старый 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>
Ответить с цитированием
  #7 (permalink)  
Старый 20.09.2017, 12:54
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

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

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

Сообщение от j0hnik
если запись короче и быстрей
Я об этом и говорю. На мой взгляд проще и быстрее написать метод filter, чем some.
Ответить с цитированием
  #10 (permalink)  
Старый 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