0

データベース内のさまざまなテーブルに送信する 3 つの単純な html フォームを含むページがあります (AJAX と JQuery を使用)。フォームが送信されると、現在は非表示になり、メッセージが投稿されます。

<div class="success_m" style="display:none;">
   <p>Manufacturer has been added!</p>
   <h4><a href="path/to/the/forms/page">Add another Manufacturer!</a></h4>
</div>

別のメーカーをデータベースに投稿するには、[別のメーカーを追加] をクリックします。リンクすると、ページ全体が更新されます。フォームが送信されると消え、成功メッセージが一瞬表示され、その後クリアされたフォームが戻ってくるように設定しようとしました...フォームがまったく消えないことを除いて動作します。メッセージはその下で点滅します。

私の試みは以下です、アドバイスをありがとう!!

マイク

$(document).ready(function(){
    $("form#submit_m").submit(function() {
    // we want to store the values from the form input box, then send via ajax below
    var manu_name       = $('#manu_name').attr('value');
    var manu_web        = $('#manu_web').attr('value');
    var manu_email      = $('#manu_email').attr('value');
    var manu_phone      = $('#manu_phone').attr('value'); 
    var manu_phone_ext  = $('#manu_phone_ext').attr('value');
    var manu_info       = $('#manu_info').attr('value'); 

        $.ajax({
            type: "POST",
            url: "process_m.php",
            data:"manu_name="+ manu_name+"&manu_web="+manu_web+"&manu_email="+manu_email+"&manu_phone="+ manu_phone
            +"&manu_phone_ext="+manu_phone_ext+"&manu_info="+manu_info,
            success: function(){
                // reset form, success message, refresh form 
                resetForm($('#submit_m'));
                $('form#submit_m').hide();
                $('div.success_m').fadeIn(250).delay(1000).fadeOut(250);
                $('form#submit_m').show();
            }
        });
    return false;
    });
});

成功キューのその resetform 関数は、THIS SO 投稿からのものです。

どんな助けでも大歓迎です!

4

1 に答える 1

1

の呼び出しに開き括弧と閉じ括弧がありませんshow() function

...
$('div.success_m').fadeIn(250).delay(1000).fadeOut(250);
$('form#submit_m').show(); // add parenthesis here
...

フォームを非表示にして再表示するには、success div のようにフェードバックするか、setTimeout(). あなたが今それを扱っている方法は、それが隠れてから表示され、その間に途切れることはありません. だから、それは瞬時に見える...

例:

setTimeout(function() { $('form#submit_m').show(); }, 1000);

ここにjsFiddleの例があります

于 2012-04-13T20:38:34.067 に答える