1

ページが読み込まれると非表示になるお問い合わせフォームがあります。コンタクト フォーム ボタンをクリックすると、コンタクト フォームが表示され、slideUp と slideDown が実行されます。問題は、フォームが送信されるとページが更新され、ページが再読み込みされたためにエラー メッセージまたは成功メッセージが表示されている場合、[お問い合わせフォーム] ボタンをクリックして表示する必要があることです。私はjqueryやphpが苦手です。どんな助けでも大歓迎です。フォームが送信されたら、メッセージを表示する必要があります。

ウェブサイトはhttp://www.carlisleironing.co.uk/index.phpです。

私のjqueryは

$(document).ready(function () {
    $("#contactLink").click(function () {
        if ($("#contactForm").is(":hidden")) {
            $("#contactForm").slideDown("slow");
        } else {
            $("#contactForm").slideUp("slow");
        }
    });
});
4

3 に答える 3

1

以下を追加します(質問の最後の直前に});):

if ($('#contactForm #error').size() > 0){
    $('#contactForm').slideUp('slow'); // or just .show();
}

#error要素が存在するかどうかをテストし、存在する場合はフォームを表示します。あなたの成功メッセージがどのように見えるかはわかりませんが、同様のテストもそのための 1 つになる可能性があります。

他の回答については、はい、AJAX 送信を行うことができますが、可能性はあります (ここではコンテキストを想定しています)、それはこの質問の範囲外です。これには、特別なリクエスト処理と追加の検証ライブラリ (y/ies) の追加が含まれます。

于 2013-06-25T15:59:14.553 に答える
0

ajax を使用してフォームを送信し、ページをリロードせずに結果を表示できます。

$('form').submit(function() {
    $.post($(this).attr('action'), $(this).serialize(), function(data) {
        console.log(data);
    });
    return false;
});
于 2013-06-25T15:58:38.500 に答える