我使用 phpmailer 創(chuàng)建了聯(lián)系表單。并且,它正在工作并且可以正常發(fā)送電子郵件。但是,它確實(shí)在 php 文件中重定向,然后顯示成功消息。我想在同一個(gè)聯(lián)系表單 html 頁(yè)面上顯示消息。并且,我使用下面的 ajax jquery 來(lái)實(shí)現(xiàn)這一點(diǎn)。但是,郵件不發(fā)送。并在同一表單 html 頁(yè)面上收到以下消息。文檔有問(wèn)題!我該如何解決這個(gè)問(wèn)題?JS代碼:(function ($) {? ? "use strict";? ? var form = $('#contact-form'); // contact form? ? var submit = $('#submit-btn'); // submit button? ??? ? ? ? ? ? // form submit event? ? ? ? ? ? form.on('submit', function(e) {? ? ? ? ? ? ? ? e.preventDefault(); // prevent default form submit? ? ? ? ? ? ? ? $.ajax({? ? ? ? ? ? ? ? ? ? url: 'php/mail.php', // form action url? ? ? ? ? ? ? ? ? ? type: 'POST', // form submit method get/post? ? ? ? ? ? ? ? ? ? dataType: 'html', // request type html/json/xml? ? ? ? ? ? ? ? ? ? data: form.serialize(), // serialize form data? ? ? ? ? ? ? ? ? ? beforeSend: function() {? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? submit.attr("disabled", "disabled");? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? var loadingText = '<span role="status" aria-hidden="true" class="spinner-border spinner-border-sm align-self-center mr-2"></span>Sending.....'; // change submit button text? ? ? ? ? ? ? ? ? ? ? ? if (submit.html() !== loadingText) {? ? ? ? ? ? ? ? ? ? ? ? ? ? submit.data('original-text', submit.html());? ? ? ? ? ? ? ? ? ? ? ? ? ? submit.html(loadingText);? ? ? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? ? ? },? ? ? ? ? ? ? ? ? ? success: function(data) {? ? ? ? ? ? ? ? ? ? ? ? //$('.alert-dismissible').remove();? ? ? ? ? ? ? ? ? ? ? ? submit.before(data).fadeIn(); // fade in response data?? ? ? ? ? ? ? ? ? ? ? ? form.trigger('reset'); // reset form? ? ? ? ? ? ? ? ? ? ? ? submit.html(submit.data('original-text'));// reset submit button text? ? ? ? ? ? ? ? ? ? ? ? submit.removeAttr("disabled", "disabled");? ? ? ? ? ? ? ? ? ? },? ? ? ? ? ? ? ? ? ? error: function(e) {? ? ? ? ? ? ? ? ? ? ? ? alert('error');? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? });? ? ? ? ? ? });})(jQuery);
2 回答

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
我遇到了同樣的問(wèn)題,我用帶有隨機(jī)名稱(chēng)的表單中的隱藏輸入來(lái)解決,例如:
<input?type="hidden"?name="test">
然后在 php 文件中:
if(isset($_POST['test']))?{
工作中,問(wèn)題的出現(xiàn)是因?yàn)?code>form.serialize()或new FormData()
不使用提交按鈕。

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
您必須刪除,action="php/mail.php" method="post"
因?yàn)檫@是由 jQuery 處理的,您必須添加一個(gè)隱藏的輸入,例如<input type="hidden" name="iamhidden" />
表單,然后將其替換if(isset($_POST['submit']))
為if(isset($_POST['iamhidden']))
- 2 回答
- 0 關(guān)注
- 169 瀏覽
添加回答
舉報(bào)
0/150
提交
取消