亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AJAX 不調用 PHP 文件

AJAX 不調用 PHP 文件

慕哥6287543 2023-12-04 16:34:30
我有一個聯系我們表單,我正在嘗試通過 AJAX 和 PHP 將表單數據發送到電子郵件地址。提交功能已成功觸發,我收到了alert("success!");. 然而,該文件似乎form-process.php從未被執行 - 我從未收到過echo "I have got this far";,而且我當然也沒有收到電子郵件。我哪里錯了?有關信息,我有一個暫存站點設置,因此文件已托管在服務器上。超文本標記語言<div class="modal" id="contactModal">  <div class="modal-dialog">    <div class="modal-content">      <div class="modal-header">        <h4 class="modal-title">Contact Us</h4>        <button type="button" class="close" data-dismiss="modal">&times;</button>      </div>      <div class="modal-body">        <form action="form-process.php" method="POST" id="contact-form" role="form">          <div class="form-group">            <input type="text" class="form-control my-2" name="name" placeholder="Full Name" />            <input type="email" class="form-control my-2" name="email" placeholder="Email Address" />            <textarea type="text" class="form-control my-2" name="message" rows="4" name="message" placeholder="Write your message here..."></textarea>          </div>          <input type="submit" name="submit" value="Submit" id="submit" class="btn btn-primary" form="contact-form"></input>        </form>      </div>      <div class="modal-footer">      </div>    </div>  </div></div>查詢$(document).ready(function() {  $('#contact-form').submit(function(event) {    console.log('this has fired');    var formData = {        'name'              : $('input[id=name]').val(),        'email'             : $('input[id=email]').val(),        'message'           : $('input[id=message]').val()    };    event.preventDefault();    $.ajax({        type: "POST",        url: "form-process.php",        data: formData,        success: function(msg){            $("#contact-modal").modal('hide');            alert("success!");        },        error: function(){            alert("form post failed");        }    });  });});
查看完整描述

2 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

您使用以下方法來獲取輸入字段的值:


$('input[id=name]').val(),

$('input[id=email]').val(),

$('input[id=message]').val()

但您的輸入都沒有id字段:


<input type="text" class="form-control my-2" name="name" placeholder="Full Name" />

<input type="email" class="form-control my-2" name="email" placeholder="Email Address" />

<textarea type="text" class="form-control my-2" name="message" rows="4" name="message" placeholder="Write your message here..."></textarea>

      </div>

所以你可以用它來獲取這些值:


$(input[name="name"]).val();

$(input[name="email"]).val();

$(input[name="message"]).val();


查看完整回答
反對 回復 2023-12-04
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

所有三個子formData對象都是空的 - 這三個帶有 id 的輸入選擇器根本不存在,所以isset($_POST['name'])總是 false。



查看完整回答
反對 回復 2023-12-04
  • 2 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號