2011-07-21 138 views
8

完全是一个新手... 我只是想知道如何动态禁用输入字段,当第二个输入字段被填充禁用输入字段,如果第二个输入字段被填充

如:

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

请...任何联系,并暗示将尽...

+0

充满手段键入第二个输入字段数据后,你的应用程序点击其他地方? –

+0

是的..第二个输入自动填充后,第一个是禁用...怎么样? :( – debrajsy

+0

您可以使用onchange事件或onkeydown来检测输入字段中的更改。请参阅我的回答 – Ibu

回答

9

您只需给它一个残疾性质:

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

你可以使用上的变化事件,看看其中的一个被填充:

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

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

+0

您可以所有这样使用onkeydown事件,看看他们之一是否为空 – Ibu

+0

fiddle pls ibu ...我似乎无法得到它的权利 – debrajsy

+0

@debrajsy这里是一个工作[小提琴](http://jsfiddle.net/9fSAj /)我的代码。当你填写一个字段时,另一个被禁用,当你清除它时,一切都恢复正常 – Ibu

0

设置disabled国旗在球场上您希望在OnBlur事件触发(退出该字段)或事件触发时(当然,对该更改进行验证)禁用该功能。

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

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

}); 

tihs工作时您填写的第二个输入字段,并单击其他地方..........

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. ,如果它有它的东西,添加attributedisabled和它disabled

0

只是广告这设置为你的第二文本框:

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

http://jsfiddle.net/vbKjx/

0

我们可以ommit一些步骤,指的形式为目的。

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

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

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

我有一个搜索栏,让搜索结果与每一个按键,如果不返回任何结果,则用户呈现一种形式请求帮忙。但是,如果他们填写了“问题表单”,那么再次输入搜索栏会删除他们在问询表单中输入的内容。所以为了解决这个问题,我把问候表单中的所有输入都输入为“second div”的id和搜索字段id =“firstdiv”。现在,如果他们点击或标签到询问表格的其中一个输入字段,它将禁用搜索栏,以便他们的数据永远不会被覆盖。

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

而对于新手 - 我把代码在这样的文档的头:

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