Web サイトに、自分の電子メール アドレスにプッシュするフォームがあります。以前、ajax 関数を作成する前は、フォームは私の電子メール アドレスに正常にプッシュされていました。唯一の問題は、ユーザーがフォームに記入すると、フォームの送信時に別のページに移動することです。私のフォームの HTML は以下のとおりです。
<form id="contact" method="post" action="E-mail-form.php" name="EmailFromMyWebsite">
<label for="name">Name</label> <br>
<input type="text" name="name" class="required" placeholder="Your Name" title=" (Your name is required)"> <br />
<label for="email">E-mail</label> <br>
<input type="email" name="email" class="required email" placeholder="Name@email.com" title=" (Your email is required)"> <br />
<label for="message">Message/Comment</label> <br>
<textarea name="message" class="required" placeholder="Leave a brief message" title=" (Please leave me a brief message)"></textarea> <br />
<input type="submit" name="submit" id="submit" value="Send Message" />
</form>
</div><!-- /end #contact-form -->
私が書いたajax呼び出しは...
$("#submit").on('click', function(){
var formData = $('#contact').serialize();
$.ajax({
type:"POST",
data:"formData",
url:"Email-form.php",
success: function(data){
$('#contact').html('<p>Your message has been sent</p>');
}
});
});
私の javaScript コンソールにはエラーが表示されないので、問題は jQuery ロジックにあると思います。Chrome で [送信] をクリックすると、自分のホームページにリダイレクトされます。Firefox ではフォームは送信されますが、別のページにリダイレクトされるため、AJAX 呼び出しが完全に無視されます。AJAX の経験がある人は、私が間違っていることを教えてもらえますか? また、通話に失敗した場合はメッセージを添付したいと思います。'failure:' を追加して、成功の場合と同じように値に関数を入れることはできますか?