我有一個讓我發瘋的問題。在我的頁面上,我有一個Javascript驗證和兩個ASP.NET驗證器。驗證結果僅取決於Javascript的結果。這意味着如果Javascript返回true ASP.NET驗證器未被檢查。Javascript驗證覆蓋ASP.NET驗證器
的的Javascript代碼是:
<script type="text/javascript">
function Validate() {
var ddlObj = document.getElementById('<%=ddStatus.ClientID%>');
var txtObj = document.getElementById('<%=txtComment.ClientID%>');
if (ddlObj.selectedIndex != 0) {
if (txtObj.value == "") {
alert("Any change of Status requires a comment!");
txtObj.focus();
return false;
}
}
}
</script>
代替兩個ASP.NET驗證器是:
<td><asp:TextBox runat="server" ID="txtSerialNr" ></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="txtSerialNr" ErrorMessage="***" />
</td>
<td><asp:TextBox runat="server" ID="txtProdName" ></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="rfv1" ControlToValidate="txtProdName" ErrorMessage="***"></asp:RequiredFieldValidator></td>
任何人都可以幫助?由於
UPDATE:
我調用JavaScript從一個按鈕:
<asp:Button runat="server" ID="btnSubmit" Text="Save New Product"
style="cursor:hand" OnClick="btnSubmit_Click" />
但我註冊從代碼隱藏屬性:
protected void Page_Load(object sender, EventArgs e)
{
btnSubmit.Attributes.Add("OnClientClick", "return Validate()");
}
@Darin季米特洛夫:謝謝看到更新 – CiccioMiami