Javascript 防止在提交时更改URL

Javascript 防止在提交时更改URL,javascript,jquery,html,ajax,submit,Javascript,Jquery,Html,Ajax,Submit,我在一个网站上工作 我有一个带有div容器的index.html页面,我将所有其他页面加载到此div中 我有window.onhashchange函数,可以刷新url更改页面,并将相应的html文件加载到该div中 我有javascript/ajax联系人表单 问题: 当我单击“提交”时,我希望成功或错误消息会更改类别并显示在我的表单下。但是,“提交”按钮将“?”添加到我的URL中,因此,我的页面将刷新,所有元素都使用默认类加载 问题:如何防止我的“提交”按钮将“?”添加到我的URL?还是我

我在一个网站上工作

  • 我有一个带有div容器的index.html页面,我将所有其他页面加载到此div中
  • 我有window.onhashchange函数,可以刷新url更改页面,并将相应的html文件加载到该div中
  • 我有javascript/ajax联系人表单
问题: 当我单击“提交”时,我希望成功或错误消息会更改类别并显示在我的表单下。但是,“提交”按钮将“?”添加到我的URL中,因此,我的页面将刷新,所有元素都使用默认类加载

问题:如何防止我的“提交”按钮将“?”添加到我的URL?还是我做错了

代码如下所示:

my.js文件中的提交函数:
$(“.form horizontal”).submit(函数(e){
e、 预防默认值();
var fname=$(“#名字”).val();
var lname=$(“#姓氏”).val();
var email=$(“#email”).val();
var subject=$(“#subject”).val();
var message=$(“#message”).val();
var dataString='fname='+fname+'lname='+lname+'&email='+email+'&subject='+subject+'&message='+message;
函数isValidEmail(电子邮件地址){
(a-a-z)今年:::\\\\美元,,,\\\\\\\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(((([a-z][[[a-z]号)表示表示新的regEXEXEXP((((([a-z][除除除除除除除除除除除除除除除除除除除除上述上述上述上述:::::::::::::::::\\\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \,,,:::::::::::::::::::::::::::::::::::::(\x22)(((\x20|\x09)*(\x0d\x0a))(\x20|\x09)+-([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|࿈目前:4040404040404040404040404040\\\x01-\x01-\x01-\\x01-\x01-\x01-\x000\x000B\x0000000\0000000\000000000000000B\x0c\x0c\x0c\x0c\x0c\x0000C\x0d-\x0d-\X000\\x7f-\x7f-\X7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图试图|([a-z]|\d |[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d |-\u124; ~[u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\(a-z[a-z[[a-a-z][[[a-z][[a-z][[UUU00000-\UUU0000-\UUU0000-\UUU0000-\UUU0000-\UU00000-\U000000000000-\uFDF0-\UFFEFEF.[[[[[[[[UU00000000000000000-\uFDF0-\uFDF0-\uFDF0-\UFF-\UFF-\UFF-\UFFEFEFEF-\UFFEFEFEFEFEFEFEFEFEFEF基金基金][[[[[[[[[[[[[[[[[[[1-a-a-a-a-a-z][a-a-z][a-a-z][a-a-a-z]]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i);
返回模式.test(emailAddress);
};
如果(isValidEmail(电子邮件)&&(message.length>1)&&(fname.length>1)){
$.ajax({
类型:“POST”,
url:“sendmail.php”,
数据:dataString,
成功:函数(){
$('contact success').fadeIn(1000);
$('.contact error')。淡出(500);
}
});
}否则{
$('.contact error').fadeIn(1000);
$('contact success')。淡出(500);
}
返回false;

});
打开浏览器控制台(F12)检查错误,表单提交时,
preventDefault
应该已经阻止任何URL更改。另外,我相信提交功能只在表单上启动,因此请验证表单是否包含
.form horizontal
类,拼写正确,运行代码时是否存在all.dol元素?它是否包装在
文档中。就绪
?在提交之前或提交时浏览器控制台中出现任何错误?更新了我的问题。谢谢!
console.log($(.form horizontal”).length);$(.form horizontal”).submit(……