0

ここで多くの同様の質問を見てきましたが、JS/AJAX/jQuery、または PHP について十分な知識がなく、問題の解決策に変換する方法を理解できません。

実際にメールを送信するために contact.php にリンクする連絡フォームがあります。現在動作していますが、同じページに「メッセージが送信されました」を表示する代わりに、ユーザーを PHP ページに移動します。

明確にするために、PHP エコーの結果を HTML ページのフォームのすぐ下に表示したいと考えています。

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

フォーム http://pastie.org/8416875

4

1 に答える 1

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="JohnDoe@Email.com" 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; 
   }   
}
于 2013-10-20T18:21:56.363 に答える