0

完全に送信され、成功メッセージが表示されますが、フォームのリセットに失敗する小さな JavaScript フォームに問題があります。ページを手動で更新するまで、データは表示されたままになります。

コードは次のとおりです。

jQuery(document).ready(function(){

    $('#contactform').submit(function(){

        var action = $(this).attr('action');

        $("#message").slideUp(750,function() {
        $('#message').hide();

        $('#submit')
            .after('<img src="images/ajax-loader.gif" class="loader" />')
            .attr('disabled','disabled');

        $.post(action, {
            name: $('#name').val(),
            email: $('#email').val(),
            phone: $('#phone').val(),
            subject: $('#subject').val(),
            comments: $('#comments').val(),
            verify: $('#verify').val()
        },
            function(data){
                document.getElementById('message').innerHTML = data;
                $('#message').slideDown('slow');
                $('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
                $('#submit').removeAttr('disabled');
                if(data.match('success') != null);

            }
        );

        });

        return false;

    });

});

リセット コマンドを追加できるかどうか疑問に思いましたが、Java が制限されているため、どこにあるのかわかりません。ポインタやアドバイスをいただければ幸いです。前もって感謝します。

4

2 に答える 2

2

if (data.match...)次のように、これを 内に追加できます。

if (data.match("success") != null){
   $('#contactform')[0].reset();
}
于 2013-04-10T20:46:09.410 に答える
0

フォームを手動でクリア/リセットする必要があります。JQuery を使用してリクエストを送信するため、ブラウザの場所を変更するフォーム アクションとは異なります。

データが正常に送信されたら、RESET を呼び出すだけです。

詳細については、http ://www.w3schools.com/jsref/met_form_reset.asp を参照してください。

一方、フォームの値を指定したデフォルトにリセットしたい場合は、次のような関数を作成できます。

function resetFormValues() 
{ 
$('#name').val('name'); 
$('#email').val('email'); 
etc..
} 

resetFormValues(); を呼び出します。次のようなコード内から:

if (data.match("success") != null){
   resetFormValues();
}
于 2013-04-10T20:47:07.527 に答える