gpt4 book ai didi

javascript - 为什么 JavaScript 提交重新加载页面并通过按钮提交进行客户端页面验证

转载 作者:行者123 更新时间:2023-11-30 17:13:37 24 4
gpt4 key购买 nike

我对 jquery.validate 和 jquery.validate.unobtrusive 有奇怪的行为

如果我像这样调用提交 mvc 表单,页面会重新加载并且验证正常工作

  <a href="#" onclick="document.getElementById('myform').submit();">
<div class="span2 btn">
<div class="span2 top10 playText">

</div>
</div>
</a>

如果提交表单

 <input id="subBtn" type="image"                            
src="/images/free.jpg"class="main_img" />

客户端验证

有什么区别?如何让它始终通过客户端工作?

最佳答案

HTMLFormElement.submit() DOM 元素(不是 jQuery 对象)上的方法提交表单而不调用任何附加的 onsubmit 事件处理程序,因此您的验证被绕过。

相反,使用提交按钮或图像会调用任何提交事件处理程序。

您可以改用 jQuery 提交方法:

$('#myform').submit();

这将调用任何提交处理程序。

请注意,如果您的验证是您自己的 JavaScript 或 jQuery 验证那么这没问题,如果您使用的是 HTML5 验证那么您将必须触发提交按钮的点击事件:

$('#subBtn').trigger('click');

关于javascript - 为什么 JavaScript 提交重新加载页面并通过按钮提交进行客户端页面验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26512207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com