Asp.net
使用 javascript 和伺服器端禁用/啟用 requiredFieldValidators
我有一個下拉列表(dropdown2),如果其中有內容,則它是必需的,但它的選項數據是由另一個下拉列表(dropdown1)選擇中的 ajax 驅動的。有時 dropdown2 將是空的,在這種情況下我不能要求它。所以我可以
requiredFieldValidators通過呼叫這個來禁用 javascript…ValidatorEnable(document.getElementById(validatorId), false);這工作正常,但伺服器仍然觸發
requiredFieldValidator邏輯。有誰知道我如何強制伺服器不驗證驗證器是否設置為假客戶端?
為什麼不直接使用客戶端驗證器?這樣做會讓你的工作變得更加困難。如果您可以通過客戶端訪問它,為什麼還要在伺服器端訪問它?
我能想到的唯一另一件事是創建一個隱藏欄位並通過客戶端設置它,然後在您進行回發時檢查該值並禁用/啟用驗證器。
例如在此之後:
JS:
ValidatorEnable(document.getElementById(validatorId), false); var hidden = document.getElementById(hiddenID); hidden = "1";然後在您的載入事件中:
If (hidden = "1") then validator.enabled=false end if看看這篇與你的非常相似的文章:ASP.NET - 如何停止不需要的伺服器驗證
禁用
document.getElementById("<%=ReqVal.ClientID%>").style.visibility = "hidden"; document.getElementById("<%=ReqVal.ClientID%>").enabled = false;使能夠
document.getElementById("<%=ReqVal.ClientID%>").style.visibility = "visible"; document.getElementById("<%=ReqVal.ClientID%>").enabled = true;