0
我有一個文本框,點擊後,它允許您從日曆控件中選擇日期。如果日期被刪除,它應該取消選中文本框旁邊的複選框。Textbox not readonly
使用下面的代碼,我能夠實現除了使文本框只讀以外的所有內容,以便用戶無法輸入任何內容。此外,一旦文本被選中,複選框被選中,但是當文本被刪除時,複選框不會被取消選中。
任何人都可以提出什麼需要我可能會做錯在這裏?
<asp:CalendarExtender ID="CalForDate" runat="server" TargetControlID="txtDate" Format="MM/dd/yyyy" PopupPosition="BottomLeft" DefaultView="Days"></asp:CalendarExtender>
<asp:TextBox runat="server" ID="txtDate" AutoPostBack="true" EnableViewState = "false" onKeyPress="javascript:return ChkCheckBox()" OnTextChanged="txtDate_OnTextChanged"></asp:TextBox>
的JavaScript代碼:
function ChkCheckBox() {
var txtDate = document.getElementById('ctl00_ctl00_cphMSTMainPage_cphMSTLDAHomePage_txtDate').value;
if (txtDate.length == 9) {
document.getElementById('ctl00_ctl00_cphMSTMainPage_cphMSTLDAHomePage_chkDate').checked = true;
}
else
{
document.getElementById('ctl00_ctl00_cphMSTMainPage_cphMSTLDAHomePage_chkDate').checked = false;
}
在頁面加載我已經加入:
if (!IsPostBack){
txtDate.Attributes.Add("readonly", "readonly");}
而且在文本修改:
public void txtDate_OnTextChanged(object o, EventArgs e){
if (!(string.IsNullOrEmpty(txtDate.Text)))
{
chkDate.Visible = true;
chkDate.Checked = true;
}
else
{
chkDate.Visible = true;
chkDate.Checked = false;
} }
感謝您的建議,但我不希望使用新的東西,那就是ajaxtoolkit和jQuery。你能建議使用Javascript和Asp的東西:CalendarExtender – user1630575
加我的Javascript也在做類似的動作,但不知何故取消選中它不會觸發。 – user1630575
您可以寄給我樣品項目,以便我可以爲您編寫代碼。在github上傳並在這裏分享鏈接。我會盡快研究它。 –