powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery - поиск элементов по указанному value
10 сообщений из 10, страница 1 из 1
jQuery - поиск элементов по указанному value
    #38159801
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. Есть простая формочка:
Код: html
1.
2.
3.
4.
5.
6.
<form id="myForm">
<input type="text" required><br>
<input type="text"><br>
<input type="text" required><br>
<input type="submit" value="submit">
</form



Пользователь вводит данные и отправляет форму. В этот момент мне нужно найти поля, обязательные для заполнения, которые при этом не заполнены, и вывести в них "This field is required". Понятное дело, это решается простым перебором:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
var f = $('#myForm');
var fld = f.find('[type="text"]');
for(var i=0; i<fld.length; i++)
{
  if(fld.val() == "" && fld.attr('required'))
    fld.val('This field is required!');
}



Но ведь в jQuery есть поиск по разнообразным селекторам. Только почему то он учитывает тот html, который уже сформирован, а внесенные пользователем изменения в него (т.е. ввод данных) не учитывается. Т.е. следующий код выводит 0:
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38159804
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
alert($('#myForm').find('[type="text"]['value="1"']['required']').length)


Я случайно отправил предыдущее сообщение. Имелось ввиду, что допустим я теперь хочу найти те поля, куда пользователь ввел единичку. И вот вышенаписанный код выведет 0. Почему так? Или в чем я не прав?
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38159842
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhay
Код: javascript
1.
alert($('#myForm').find('[type="text"]['value="1"']['required']').length)

Или в чем я не прав?
Ты сам-то понимаешь что ищет этот селектор?
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38159845
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhay , это даже не селектор у тебя. Это вообще нечто синтаксически ошибочное...
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38159926
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажем так: я понимаю, что ХОЧУ найти) Как мне казалось, то что я написал - это как раз решение задачи, но видимо это не так :) Поэтом я и написал сюда) Еще раз повторюсь: мне нужно найти те элементы <input type="text"> внутри указанной формы, у которых есть атрибут required, и в которых не введено никакого значения (тот пример был для простоты). Поодскажите плиз)

Хелпу на api.jquery.com я читал, но прочитав ее, созрела вот такая мысля) Поправьте плиз как надо.
Заранее благодарен!
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38160119
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhayу которых есть атрибут required
Такое сразу классом нужно делать...
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38160132
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhayмне нужно найти те элементы <input type="text"> внутри указанной формы, у которых есть атрибут required, и в которых не введено никакого значения
Как вариант...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.err {
	border: 1px solid red;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('input:button').click(function (){
		$('#frm .required').removeClass('err');
		$('#frm .required').filter(function (){
			if (this.value=='') return true;
			return false;
		}).addClass('err');
	});
});
</script>
</head>
<body>
<form id='frm'>
	<input type='text' class='required' />
	<input type='text' class='required' />
	<input type='text' class='required' />
	<input type='button' value='test' />
</form>
</body>
</html>
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38160379
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое! Работает :)
Только вот не пойму кое-чего (правда это не совсем по теме топика):
1. Зачем использовать removeClass/addClass, когда можно использовать $(elem).attr('new_class');
2. Зачем инициализировать событие нажатия на кнопку при загрузке документа ($(document).ready(function (){ $('input:button').click(function (){ ... }))), когда можно использовать обычный onClick: <input type="button" value="button" onClick="some_func">. Просто, на мой взгляд, первый вариант - это нагромождение кода. Ладно одна кнопка, а если их штук 50 таких в документе и у каждой есть обработчик по клику? Или это просто стиль такой и более современно?)
3. В чем все-таки я был неправ? Я в документации нашел вот такую штуку и пытался сделать по аналогии.
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38160624
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhay1. Зачем использовать removeClass/addClass, когда можно использовать $(elem).attr('new_class');
А ты почитай букварь про те методы - оно глядишь и прояснится...
В общих чертах методы для работы с классами для того и сделаны, дабы подчеркнуть отличие атрибута class от всех остальных атрибутов...

urukhay2. Зачем инициализировать событие нажатия на кнопку при загрузке документа
Код: javascript
1.
($(document).ready(function (){ $('input:button').click(function (){ ... })))

, когда можно использовать обычный onClick:
Код: html
1.
<input type="button" value="button" onClick="some_func">

.
Тут так же можно много чего писать... Но суть в отделении скрипта от контента.

urukhayПросто, на мой взгляд, первый вариант - это нагромождение кода. Ладно одна кнопка, а если их штук 50 таких в документе и у каждой есть обработчик по клику? Или это просто стиль такой и более современно?)
В данном случае может и больше кода... Но при увеличении однотипных конструкций выигрыш будет в "другую сторону"...

urukhay3. В чем все-таки я был неправ? Я в документации нашел вот такую штуку и пытался сделать по аналогии.
Твой вариант даже синтаксически не верен. Там просто супнабор из " и '...
Притом выбран худший подход с атрибутом, нежели значением класса...
...
Рейтинг: 0 / 0
jQuery - поиск элементов по указанному value
    #38160894
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно. Спасибо за помощь. Буду изучать букварь)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery - поиск элементов по указанному value
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]