0

我试图阅读类似的帖子。无法在我的代码上获得关于为什么我的代码仍会转到显示消息的 php 页面而不显示在原始 html 页面上的线索。

这是代码片段。

In javascript 

$(document).ready(function(){
  $("#myForm").submit(function(){
    var url = $(this).attr("action"); 
    var str=$(this).serialize();
    $.post(url,str,function(msg){$('msg_div').show();$('msg_div').html(msg);});
    return false;
  });
});

in html
<form name="myForm" action="abc.php" method="post" enctype="multipart/form-data">
...
<input type="submit" name="Submit" id="Submit" value="Submit" onClick="return validateForm()"/>

in PHP
if (mail($to, $subject, $msg, $headers))    echo "<p>hank you for your query.</p>";
else {
     echo "<p>Error: email failed."; die('Error!');
}

这段代码出了什么问题?先感谢您。

祝你有美好的一天,一切顺利,

艾莉森

4

1 回答 1

0

我看到您试图阻止提交表单的行为(返回 false,这似乎很好),我也做过一次,但现在不知道在哪个项目中,所以我现在没有任何示例。

也许这有帮助(但尚未测试):

  $("#myForm").submit(function(e){
    e.preventDefault();
    var url = $(this).attr("action"); 
    var str=$(this).serialize();
    $.post(url,str,function(msg){$('msg_div').show();$('msg_div').html(msg);});
    return false;
  });

e.preventDefault();应该停止提交过程。你的validateForm()样子怎么样?

于 2013-06-26T08:45:07.117 回答