我在我的 asp.net web 应用程序中遇到了一个问题,我需要在单击 更新 按钮时显示一个 java 脚本确认框,这是根据给我的要求。
目前我使用的是onclient click
<asp:Button ID="btnCustomerUpdate" runat="server" CssClass="applybuttonstyle"
Text="Update" onclick="btnCustomerUpdate_Click"
OnClientClick="return confirm('Do you really want to update?');"/>
它工作正常,但问题是我还在我的表单字段上应用了一些验证控件,所以如果用户将任何字段留空并单击更新按钮,它会显示 javascript 确认框和该表单字段下方的验证消息。
除非所有验证都通过,否则它不应该显示确认框,这不是我们想要的行为。
我希望这是因为我在客户端点击时使用它,所以请告诉我一个更好的解决方案。
提前致谢。
最佳答案
您可以在自己的确认函数中使用Page_ClientValidate
来决定是否显示确认对话框。
像这样的东西:
function validateAndConfirm(message){
var validated = Page_ClientValidate('group1');
if (validated){
return confirm(message);
}
}
在服务器上你会有这样的东西:
<asp:textbox id="TextBox1" runat="server"/>
<asp:requiredfieldvalidator ValidationGroup="group1"
ErrorText="Need to Fill in Value!"
ControlToValidate="TextBox1"
runat="server"/>
<asp:textbox id="TextBox2" runat="server"/>
<asp:requiredfieldvalidator ValidationGroup="group1"
ErrorText="Need to Fill in Value!"
ControlToValidate="TextBox2"
runat="server"/>
您的按钮代码将更改为:
<asp:Button ID="btnCustomerUpdate" runat="server" CssClass="applybuttonstyle"
Text="Update" onclick="btnCustomerUpdate_Click" ValidationGroup="group1"
OnClientClick="return validateAndConfirm('Do you really want to update?');"/>
显然,我无法对此进行测试,但你明白了。
如果您将使用 Page_ClientValidate
,您可能会发现 this SO question有用。
关于c# - 在 asp.net 中验证表单数据后如何获取 javascript 确认框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8641395/