event.preventDefault似乎不起作用

所以我试图阻止表单刷新页面,这是我正在使用的代码:

$("#getName").submit(function(refresh) { refresh.preventDefault(); $("#p22").fadeOut(50); $("#p23").fadeIn(800); document.getElementById("p23").innerHTML = "Oh " + userName + ", alright i wont forget that!"; }) 

我似乎无法正常工作….

id = getName – 是表单id

您的问题类似于: https : //stackoverflow.com/a/6462306/986160

试试这个:

 $("#getName").submit(function(refresh) { $("#p22").fadeOut(50); $("#p23").fadeIn(800); $("#p23").html("Oh " + userName + ", alright i wont forget that!"); return false; }) 

返回false就像refresh.preventDefault()和refresh.stopPropagation()一样;)详情请见: https : //stackoverflow.com/a/1357151/986160

我得到了这个jQuery文档的示例代码,它似乎工作正常(它警报但但是没有链接到destination.html 。在你的代码中一切似乎都很好,它可能是你正在寻找的不同之处。

http://api.jquery.com/submit/

 $( "#target" ).submit(function( event ) { alert( "Handler for .submit() called." ); event.preventDefault(); }); 
  
Trigger the handler

返回false将不会validation您的表单,您的页面也不会刷新。

 $("#getName").submit(function(refresh) { refresh.preventDefault(); $("#p22").fadeOut(50); $("#p23").fadeIn(800); document.getElementById("p23").innerHTML = "Oh " + userName + ", alright i wont forget that!"; return false; })