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

Disable an input field if second input field is filled

本文关键字:字段 输入 第二个 如果 填充      更新时间:2023-09-26

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

例如:

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

请。。。任何链接和提示都可以…

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

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

因此,如果第一个被填充,第二个将被禁用

$('#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

$('#secondinput').live('blur',function(){
    $('#firstinput').attr('disabled', true);
});

tihs在您填写第二个输入字段并单击其他位置时工作。。。。。。。。。。

只需将其广告到您的第二个文本框:

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

http://jsfiddle.net/vbKjx/

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

我们可以提交一些步骤,将表单引用为对象。

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

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

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

我有一个搜索栏,每次按键都会显示搜索结果,如果没有返回结果,则会向用户提供一个表单以寻求帮助。但是,如果他们填写了"ask表单",然后再次在搜索栏中键入,它将删除他们在ask表单中输入的所有内容。因此,为了解决这个问题,我给ask表单的所有输入id为"seconddiv",搜索字段id为"firstdiv"。现在,如果他们点击或选项卡到请求表单的一个输入字段,它将禁用搜索栏,这样他们的数据就永远不会被重写。

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

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

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