我有一個帶有複選框和幾個文本框的ASP.NET頁面。ASP:複選框後更改後的值已經通過Javascript更改了值
當用戶剔除複選框時,我需要執行一系列檢查並通知用戶結果。我通過複選框AutoPostBack屬性做一回發這些檢查:
<asp:CheckBox ID="chkDecision" runat="server" AutoPostBack="true" />
另一個業務規則我實現的是,當複選框取消選中,並且用戶開始在文本框中的一個打字,我不得不自動勾選檢查框。我正在通過Javascript做到這一點:
<asp:TextBox ID="txtLeft" runat="server" CssClass="textboxstandard" MaxLength="50" onkeyDown="SelectDecision(event);">
function SelectDecision(e) {
if (!checkSpecialKeys(e)) {
var chkDec = $get('<%=chkDecision.ClientID %>');
if (!chkDec.checked) {
chkDec.checked = true;
}
}
}
以上所有的工作正常。
我得到的這個問題是,當用戶開始在一個盒子中輸入時,複選框會打勾。如果他們然後手動取消選中該框,則回發不會觸發。
大概這是因爲複選框與頁面加載時處於相同的狀態,所以一些內部邏輯認爲回發不必要。
如何執行上述場景中提到的服務器端檢查?
定稿 由於下面給出的幫助下,我能提供的答案測試期間該另一個自己進步。我發現我可以設置文本框的AutoPostBack
屬性:
<asp:TextBox ID="txtLeft" runat="server" CssClass="textboxstandard" MaxLength="50" onkeyDown="SelectDecision(event);" AutoPostBack="true"></asp:TextBox>
我的方案,同時實現如下同樣的事情,我發現它是爲回發編輯完成後,會出現更多的使用。感謝你的幫助!
是你的工作? –
謝謝Pranay - 週末我遠離我的源頭,但我會在星期一嘗試你的建議,並接受你的答案,如果它解決了我的問題。再次感謝! – Stewart