如果填充了第二个输入字段,则禁用输入字段

时间:2011-07-21 04:33:12

标签: javascript jquery ajax forms

完全是新手...... 我只是想知道如何在第二个输入字段填充时动态禁用输入字段

例如:

<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>

请...任何链接和提示都可以......

7 个答案:

答案 0 :(得分:12)

您只需要给它一个禁用的属性:

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;
   }
}

所以如果第一个被填满,第二个将被禁用

答案 1 :(得分:2)

$('#dis_per').blur(function(){
    if($(this).val().length != 0){
        $('#dis_rm').attr('disabled', 'disabled');
    }       
});

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

说明:

  1. 当第二个输入失去焦点时... .blur()

  2. 检查内部是否有东西。通过确保其长度不为零!=0

  3. 来执行此操作
  4. 如果其中包含内容,请添加attribute disabled并将其设置为disabled

答案 2 :(得分:1)

$('#secondinput').live('blur',function(){

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

});
当你填充第二个输入字段并点击其他地方..........

时,

tihs有效

答案 3 :(得分:1)

只需将其添加到您的第二个文本框中:

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

http://jsfiddle.net/vbKjx/

答案 4 :(得分:0)

disabled事件触发(用于退出字段)或OnBlur事件触发时(当然,验证时),在要禁用的字段上设置OnChanged标志关于改变)。

答案 5 :(得分:0)

我们可以省略一些步骤,将表单称为对象。

document.form1.num-input2.onchange = function() {
    if ( this.value != "" || this.value.length > 0 ) {
        document.form1.num-input1.disabled = true;
    }
}

答案 6 :(得分:0)

我喜欢这个答案,使用Jquery:

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

我有一个搜索栏,每次按键都会显示搜索结果,如果没有返回任何结果,则会向用户显示一个表单以寻求帮助。但如果他们填写“询问表格”,然后再次输入搜索栏,它将删除他们在询问表格中输入的所有内容。所以为了解决这个问题,我在ask表单中给出了所有输入id为“second div”和搜索字段id =“firstdiv”。现在,如果他们点击或标签到ask表单的其中一个输入字段,它将禁用搜索栏,以便他们的数据永远不会被覆盖。

如果他们改变主意,我还会添加一个重新启用搜索表单的按钮。

对于新手 - 我把代码放在文档的头部,如下所示:

<html>
<head>
<script type="text/javascript">
$('#seconddiv').live('focus',function(){
    $('#firstdiv').attr('disabled', true);
});
</script>
</head>
<body>
....