微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 提交表单时阻止浏览器跳转到首页

我试图阻止页面用户提交表单时跳到顶部.有很多人建议回归虚假.但是,它也会阻止提交表单.

我想知道是否有人可以帮助我.

**JQuery**

$('#submit').click(function(){ //doesn't work
    return false;
})

$('form').submit(function(){  //doesn't work either
    return false;       
})



**Html**
<form...>
<input>...
<input>...
<input>...

<input type='submit' id='submit' value='submit'>

</form>

解决方法

提交表单时,您实际上正在加载新页面.在提交处理程序中返回false只是告诉浏览器不要冒泡事件而不执行认事件,在这种情况下提交表单,这就是为什么在执行此操作时没有发生任何事情.

您的问题有几种解决方案.如果您将用户(在表单提交后)重定向回表单页面但有错误,则可以在URL中包含“片段标识符”.让片段标识符指向您表单的ID,浏览器将自动转到文档的该部分.例:

<form id="my-form">
    ...
</form>

你的网址是:

host/path?query=querystring#my-form

如果您想避免重新加载页面,请尝试在JS中进行验证. jQuery验证插件非常易于使用,简直太棒了.请参阅here以了解如何使用它.这很棒,因为它可以为您完成大部分繁重工作,并且具有一组常用的认验证方法.

或者,您可以通过ajax提交表单并返回服务器选择的任何验证错误.如果您没有任何错误,则可以重定向下一页.如果有错误,请将其粘贴在表单中或显示警告.此解决方案将避免您必须在客户端上复制任何复杂的验证逻辑(如果您要使用jQuery验证插件).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐