ASP.NET - 在提交表单之前调用 javascript 验证函数
ASP.NET - Call javascript validation function before submitting form
我需要在我们网站的表单中实现一些第三方字段验证。目前,表单字段的验证是通过使用 ASP.NET 验证器(必需的正则表达式)来完成的,我想继续在我们不会使用新验证的字段上使用这些验证器。为我们提供新验证服务的公司为我们提供了所有代码以集成到我们的网站中以获得新的验证功能,而基本实现只需要我们调用一个 javascript 方法,该方法读取指定字段的值并通过一些服务调用对其进行验证。此外,实现要求表单最初具有 onsubmit="return false;"
属性集。
我遇到的问题是,当验证脚本尝试提交表单时(在验证后函数删除表单的 onsubmit 属性之后),因为事件验证已打开(不是关闭选项),页面会引发异常"无效的回发或回调参数"。也许我已经提供了过多的细节来提供上下文,但也许问题归结为:如果启用了事件验证而不导致此错误,您可以使用 javascript 提交 ASP.NET 表单吗?如果是这样,如何?
你可以在 JavaScript 函数中调用一个回发,如下所示:
<script type="text/javascript">
function DoValidation(parameter)
{
// Do calls to validation services here
// If all validation passes, then call this
if(valid) {
__doPostBack('btnSave', parameter)
}
}
</script>
<asp:Button id="btnSave" runat="server" OnClientClick="DoValidation()"
Text="Save" />
注意:btnSave
是一个虚构的名称,但它应该表示通常执行回发的服务器端控件。
现在,在页面的Page_Load
事件中,您可以确定谁发起了回发以及随回发发送的任何数据,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
// Get the control that caused the post back (btnSave)
Request["__EVENTTARGET"];
// Get the parameter value (parameter)
string parameter = Request["__EVENTARGUMENT"];
}
是的,你可以。像这样的东西,请耐心等待,这只是伪代码。
<header>
<script type="text/javascript">
function JavaScriptSave()
{
// Validations here
if(passed)
{
__doPostBack('<%=MyButton.ClientID %>','OkToSave');
}
}
</script>
</header>
<asp:button id="MyButton" runat="server" Text="Submit Button" OnClientClick="JavaScriptSave()" />
然后在背面:
protected void Page_Load(object sender, EventArgs e)
{
string passedInValue = Request["__EVENTARGUMENT"];
if(passedInValue = "OkToSave")
{
// perform save function here
}
...
if(IsPostBack)
return;
}
相关文章:
- 我需要从php调用javascript或jquery
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 使用html表单中的参数调用JavaScript函数
- 可以´t调用JavaScript中的函数
- 在按钮上调用Javascript函数
- 如何从Objective-C代码中调用javascript代码
- 当库在页脚中加载时,基于PHP条件调用Javascript
- 可以't在Jasmine中调用Javascript函数
- 在page_load事件上调用javascript函数
- 如何在ajax中调用javascript对象的方法
- 如何使用WPF调用JavaScript对象的函数
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 从附加文本调用javascript(订单车)
- 在线程循环中调用JavaScript
- 在指定时间后多次调用Javascript中的函数
- 未调用Javascript onscroll事件
- 如何正确调用Javascript中的匿名函数
- 从字符串调用javascript函数
- 无法从活动调用 javascript 函数