我需要啓用/禁用asp.TextBox /輸入取決於CheckBox。如果CheckBox.Checked = true,那麼我需要啓用asp.TextBox/Input,或者如果CheckBox.Checked = false,那麼我需要禁用asp.TextBox/Input。基於CheckBox.Checked啓用/禁用asp:TextBox控件true或false
下面是我有的代碼,但它只適用於第一次點擊,這意味着如果我檢查框將啓用asp.TextBox/Input,但如果我取消選中它不會禁用asp.TextBox/Input。
此外,默認情況下,在Page_Load上禁用了asp.TextBox/Input。
//If checked it should enable the input.
//If unchecked it should disable the input.
If Port is Required?<label class="checkbox">
<input type="checkbox" id="isportreqinput" name="isportreqinput" runat="server" onclick="fncport(this.form.isportreqinput, this.form.porttxt);" />
<span class="metro-checkbox">Check Me</span>
</label>
//This is the input I need to disable/enable depending on the checkbox
<input type="text" name="porttxt" id="porttxt" runat="server" disabled="disabled" />
<script type="text/javascript">
function fncport(control, objname) {
if (control.checked == true) {
objname.disabled = false;
}
if (control.cheched == false) {
objname.disabled = true
}
}
</script>
嗯...奇怪。爲什麼它有什麼? 'fncport(this.form.isportreqinput,...)'不應該知道控件,因爲默認的ASP.net會呈現另一個ID。 – 2013-03-17 21:14:58
對不起,不確定你的意思? – jorame 2013-03-17 21:18:15
如果您在瀏覽器中查看呈現的HTML代碼,則您的控件的ID應該不像'ctl00_ContentPlaceHolder_isportreqinput'那樣非常漂亮。但是你的'onclick'處理程序用原始ID調用函數。如果您沒有更改默認ID渲染,則應該使用'fncport(this.form。<%= isportreqinput.ClientID%>,...)'來獲取呈現的客戶端ID。 – 2013-03-17 21:23:00