2013-10-20 181 views
0

我在這裏看到很多類似的問題,但我只是沒有足夠的知識,在JS/AJAX/jQuery或PHP,以瞭解如何將其轉化爲解決方案我的問題。需要讓PHP腳本在同一頁面上顯示結果

我有一個聯繫表,它鏈接到contact.php實際發送電子郵件。它目前正在工作,但不是在我想要的同一頁面上顯示「發送消息」,而是將用戶帶到PHP頁面。

只是爲了澄清:我希望PHP回聲的結果直接顯示在HTML頁面上的表單下方。

Contact.php http://pastie.org/8416873

形式 http://pastie.org/8416875

+0

你知道AJAX是什麼嗎? –

+0

你需要知道人們爲什麼使用ajax。使用AJAX的原因是爲了避免頁面重定向或刷新。你想使用ajax但想重定向頁面。 –

+0

我不想重定向頁面,我希望用戶直接在表單下方看到「發送消息」:「它目前正在工作,但不是在我想要的同一頁面上顯示」發送的消息「它會將用戶帶到PHP頁面。「 – Jared

回答

0

如果你使用jQuery,您可以從您的窗體中刪除的動作,而這樣做:

HTML:

<form class="contact_form" method="post" name="contact_form"> 

      <ul> 
       <li> 

       </li> 
       <li> 
        <label for="name">Name:</label> 
        <input type="text" name="name" placeholder="John Doe" required /> 
       </li> 
       <li> 
        <label for="email">Email:</label> 
        <input type="email" name="email" placeholder="[email protected]" required /> 
       </li> 
       <li> 
        <label for="message">Message:</label> 
        <textarea name="message" cols="40" rows="6" required ></textarea> 
       </li> 
       <li> 
        <button class="submit btn btn-default" type="submit">Send Message</button> 
       </li> 
      </ul> 

     </form> 
     <div class="targetDiv"></div> 

和javascript:

function formSubmit(e){ 

    e.preventDefault(); //This will prevent the default click action. 

    var frm = $('.contact_form'), 
     data = JSON.stringify(frm.serializeArray()); 

    $.ajax({ 
     type: "POST", 
     url: "contact.php", 
     data: data, 
     success: function() { 
      $('.targetDiv').text('Your message has been sent!'); 
     }, 
     error: function() { 
      //your error message here 
     } 
    }); 
    return false; 
    } 
} 
相關問題