0

同様の投稿を読んでみました。私のコードがまだメッセージを表示し、元のhtmlページに表示されていないphpページに移動している理由について、私のコードの手がかりを得ることができませんでした。

これがコードスニペットです。

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

送信されたフォームの動作を停止しようとしたことがわかります (return 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 に答える