Отключить поле ввода, если заполнено второе поле ввода - PullRequest
8 голосов
/ 21 июля 2011

полностью новичок ... Я просто хочу знать, как динамически отключить поле ввода при заполнении второго поля ввода

например:

<td><input type="text" name="num-input1" id="dis_rm"  value=""></input></td>
<td><input type="text" name="num-input2" id="dis_per" value="" ></input></td>

PLS ... любые ссылки и советы будут делать ...

Ответы [ 7 ]

12 голосов
/ 21 июля 2011

Вам просто нужно дать ему отключенное свойство:

document.getElementById("dis_rm").disabled = true;
document.getElementById("dis_per").disabled = true;

Вы можете использовать событие on change, чтобы увидеть, заполнен ли один из них:

var dis1 = document.getElementById("dis_rm");
dis1.onchange = function () {
   if (this.value != "" || this.value.length > 0) {
      document.getElementById("dis_per").disabled = true;
   }
}

поэтому, если первый заполнен, второй будет отключен

2 голосов
/ 21 июля 2011
$('#dis_per').blur(function(){
    if($(this).val().length != 0){
        $('#dis_rm').attr('disabled', 'disabled');
    }       
});

http://jsfiddle.net/jasongennaro/D7p6U/

Пояснение:

  1. когда второй вход теряет фокус ... .blur()

  2. проверьте, есть ли внутри что-то. Сделайте это, убедившись, что его длина не равна нулю !=0

  3. если в нем что-то есть, добавьте attribute disabled и установите для него disabled

1 голос
/ 21 июля 2011

Просто добавьте это в ваше второе текстовое поле:

onblur="document.getElementById('dis_rm').disabled = (''!=this.value);"

http://jsfiddle.net/vbKjx/

1 голос
/ 21 июля 2011
$('#secondinput').live('blur',function(){

    $('#firstinput').attr('disabled', true);

});

работает, когда вы заполнили второе поле ввода и щелкнули в другом месте, где ..........

0 голосов
/ 28 июля 2011

Мне нравится этот ответ, используя Jquery:

$('#seconddiv').live('focus',function(){
    $('#firstdiv').attr('disabled', true);
});

У меня есть панель поиска, которая дает результаты поиска при каждом нажатии клавиши, если она не возвращает результатов, то пользователю предоставляется форма для запросаПомогите.Но если они заполняют «форму запроса», введите текст в строке поиска еще раз, и все, что они ввели в форму запроса, будет стерто.Чтобы решить эту проблему, я дал всем входным данным в форме запроса id «second div» и поле поиска id = «firstdiv».Теперь, если они нажмут или войдут в одно из полей ввода формы запроса, он отключит панель поиска, поэтому их данные никогда не будут перезаписаны.

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

А для новичков - я поместил код в заголовок документа так:

<html>
<head>
<script type="text/javascript">
$('#seconddiv').live('focus',function(){
    $('#firstdiv').attr('disabled', true);
});
</script>
</head>
<body>
....
0 голосов
/ 21 июля 2011

Мы можем пропустить некоторые шаги, ссылаясь на форму как объект.

document.form1.num-input2.onchange = function() {
    if ( this.value != "" || this.value.length > 0 ) {
        document.form1.num-input1.disabled = true;
    }
}
0 голосов
/ 21 июля 2011

Установите флаг disabled на поле, которое вы хотите отключить, когда срабатывает событие OnBlur (для выхода из поля) или когда срабатывает событие OnChanged (с, конечно, проверкой на изменение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...