проверить все текстовые поля на disabled
Полным ходом идёт шаманство над скриптом который я приводил ранее, удалось запихать его в таблицу, работает хорошо, не падает, но теперь надо его проверить, а именно найти все текстовые поля с атрибутом "disabled" и здесь я умудрился запутаться (слишком уж сложно мне это всё дается)
ну вот мой скриптик:
echo "<form action='proverka.php' method='get' name='form' autocomplete='off' onsubmit='return validate_form ( );'>"; // вывожу форму -функция проверки return validate_form ( )
echo "<table border='1'>";
echo '<tr><td>';
//здесь идёт вывод из базы (цикл)
echo '<input type="checkbox" name="agree1" value="а1" id="agree'.$i.'"></td>
<td><input onclick="this.select();" type="text" id="continue'.$i.'" value="Введите число" name='.$zay["id"].'/>& nbsp;'.$mat["ed_izm"].'</td></tr>';
echo "</table>";
<script type="text/javascript" src="js/po_chat_sn.js"></script>
<script>
$(document).ready(function(){
$('input[id^="agree"]').each(function(){
var $this = $(this);
var nextInp = $this.closest('tr').find('input[id^="continue"]');
nextInp.attr('disabled',true);
$this.data('next', nextInp);
$this.click(function() {
var nextInp = $(this).data('next');
if($(this).is(':checked')){
nextInp.removeAttr('disabled');
} else {
nextInp.attr('disabled',true);
}
});
});
});
function validate_form ( )
{
if ($("text[disabled=false]"))
{
alert("Прокатило, я нашёл закрытый текст");
}
$("text[disabled]").next()
}
//-->
</script>
<input type="submit" id="continue1" value="Продолжим" />
</form>
|
Гробовщик, что есть "закрытые ячейки"?
|
ksa,
текстовые поля с атрибутом "disabled" |
Цитата:
Пройдись по всем инпутам нужного типа и проверяй наличие этого атрибута... |
ksa,
Не могу полностью понять можно ли в js скрипте "function validate_form ( )" прописывать на синтаксисе jquery "if ($("text[disabled=false]"))" как он вообще должен правильно выглядеть?
function validate_form ( )
{
if ($("text[disabled=false]"))
{
alert("Прокатило, я нашёл закрытый текст");
}
$("text[disabled]").next()
}
|
Цитата:
<!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">
</style>
<script type="text/javascript">
$(document).ready(function (){
alert('test 1');
$('input[disabled=false]').each(function (){
alert(this.value);
});
alert('test 2');
$('input[disabled]').each(function (){
alert(this.value);
});
alert('test 3');
$('input:text').each(function (){
alert($(this).attr('disabled'));
});
});
</script>
</head>
<body>
<input type='text' value='1' disabled />
<input type='text' value='2' disabled='false'/>
<input type='text' value='3' id='test' />
<input type='text' value='4' />
<script type="text/javascript">
$('#test').attr('disabled',false);
</script>
</body>
</html>
|
ksa,
Вставил в свой код и действительно всё работает, сижу под свои нужды затачиваю. Большое спасибо. P.S. Понимаю что вопросы нубские, но я только начал изучать. |
Цитата:
<!DOCTYPE html>
<html>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<body>
<input type='text' value='1' disabled />
<input type='text' value='2' disabled='false'/>
<input type='text' value='3' id='test' />
<input type='text' value='4' />
<script type="text/javascript">
$('#test').attr('disabled',false);
</script>
<script type="text/javascript">
alert('test 4');
$('input:disabled').each(function (){
alert(this.value);
});
</script>
</body>
</html>
Причем псевдокласс :disabled нативен (это не расширение jQuery). Также замечу что вместо манипуляции атрибутом предпочтительней менять соответствующее свойство. Так этот (быдло)код:
this.click(function() {
var nextInp = $(this).data('next');
if($(this).is(':checked')){
nextInp.removeAttr('disabled');
} else {
nextInp.attr('disabled',true);
}
});
сворачивается до:
this.click(function() {
var nextInp = $(this).data('next'); // вобще это смахивает на изврат кстати
nextInp.prop('disabled', !this.checked);
});
Причем я помню что такой код уже приводил. Гробовщик, ты смотрю совсем не учишься и игноришь все советы, а? |
danik.js,
Да ну как же можно, я стараюсь разбираться, в данный момент это другой модуль который проверяет вводимые данные. JS пока что мне тяжело даётся для понимания (почему он не может быть как php=( ) , поэтому по крайностям и метаюсь. Может посоветуешь литературку азовую, что бы мне по крайностям не метаться, так сказать совет гуру) |
| Часовой пояс GMT +3, время: 05:52. |