2016-11-14 24 views
1

我遇到了一個文本,表示禁用字段中的數據不會隨表單一起提交。所以我不明白爲什麼我們甚至需要在編寫代碼時使用禁用的字段。請解釋使用禁用字段的情況,這是不可避免的。使用HTML中的禁用字段

+0

適用於不需要該字段的情況。 –

回答

1

HTML表單中的disabled字段不可用,不可點擊並且不會提交數據。

這樣一個領域的一點是,別的東西有發生前的那場不再disabled - 然後把它變成一個普通的HTML表單字段。

如。

var otherReasonRadio = document.querySelector('input[value="reason-other"]'); 
 
var otherReasonInput = document.querySelector('input[name="other-reason"]'); 
 

 
function enableOtherReasonInput() { 
 
otherReasonInput.removeAttribute('disabled'); 
 
} 
 

 
otherReasonRadio.addEventListener('change',enableOtherReasonInput,false);
label { 
 
display: block; 
 
}
<form> 
 
<label><input type="radio" name="reason" value="reason-a" />Reason A</label> 
 
<label><input type="radio" name="reason" value="reason-b" />Reason B</label> 
 
<label><input type="radio" name="reason" value="reason-other" />Other Reason</label> 
 

 
<p><label>Please State Other Reason: <input type="text" name="other-reason" disabled></label></p> 
 
</form>

+0

好的..我跑了代碼片段..它確實成爲啓用後,選擇其他原因單選按鈕..但是當我選擇另一個單選按鈕,它不應該再次禁用?我認爲再添加一個事件監聽器就可以做到這一點。請確認 –

+0

是的,您可以添加另一個事件監聽器和另一個函數,以確保當其他單選按鈕被選中時,文本輸入再次變爲「禁用」。 – Rounin

0

條件要在其中顯示的字段,但不希望被沿着其餘的表單字段提交

1

比方說,我們有usernameusernameemailtype。現在我們需要一個HTML表單來編輯現有用戶和添加新用戶。在編輯時,我們不希望用戶的email被修改。所以,當您編輯user時,我們可以禁用此字段。因爲我們實際上不希望將它提交給服務器或任何其他表單處理器。另一方面,在添加用戶的同時,我們需要添加email字段。所以,在添加時,我們不應該禁用email字段。這只是一個例子,爲什麼我們需要禁用一個字段。同樣的形式,但在編輯時,將不會提交email,同時會提交email