2011-07-21 134 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> 
....