我已經搜索了很多解決方案來解決這個問題,但我還沒有找到解決方案。我試圖在我的網站上(使用 Bootstrap)包含一個用于發送電子郵件的表單(一個聯系我們的表單)。PHP 被用于郵件模型。問題在于發送消息時應該向用戶顯示的消息,該消息沒有出現在分配給它的位置(#status),而是我被定向到一個包含數組數據的新頁面。https://drive.google.com/file/d/1tH8cVCWpx7pDe2OyxkGSKY6rnqV9KxlL/view?usp=sharing請注意,該消息出現在所有驗證情況下(當名稱或電子郵件或主題或消息字段為空時),只有在發送電子郵件時,它才會將我定向到另一個頁面!https://drive.google.com/file/d/1lK11R2a18S2arExDegcZyOnITwRlIOYh/view?usp=sharing這是我的代碼:< script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" > < /script> < script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" > < /script> < script > function validateForm() { document.getElementById('status').innerHTML = "Sending..."; formData = { 'name': $('input[name=name]').val(), 'email': $('input[name=email]').val(), 'subject': $('input[name=subject]').val(), 'message': $('textarea[name=message]').val() }; $.ajax({ url: "mail.php", type: "POST", data: formData, dataType: "json", success: function(data, textStatus, jqXHR) { $('#status').text(data.message1); if (data.code) //If mail was sent successfully, reset the form. $('#contact-form').closest('form').find("input[type=text], textarea").val(""); }, error: function(jqXHR, textStatus, errorThrown) { $('#status').text(jqXHR); } }); } < /script>
1 回答

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
您遇到的問題是,form提交時的默認行為是瀏覽器與 HTTP 協議交互時通??吹降男袨椤D鷅utton的 is oftype submit并且它提交form.
假設您在內部處理所有您想要的邏輯,您validateForm的代碼缺少的是您的意圖是防止默認行為submit:
$("#contact-form").submit(function(e) {
e.preventDefault();
});
- 1 回答
- 0 關注
- 110 瀏覽
添加回答
舉報
0/150
提交
取消