2011-10-25 3 views
0

私はいくつかのバリデーションを持つフォームを持っていますが、通過すると処理クラスが追加され、htmlも追加されます。クラスを設定した後にjQueryで追加されたhtmlを削除する

if (valid != '') { 
    $('form #form_ajax').removeClass().addClass('error').html('<p>Please correct the errors above.</p>' + valid).fadeIn('fast'); 
} else { 

    $('form #form_ajax').removeClass().addClass('processing').html('<p>Sending…</p>').fadeIn('fast'); 

    var formData = $('form').serialize(); 
    submitForm(formData); 

} 

私はまた、AJAXがフォームを送信してきた、そしてそれが成功のクラスを追加したとき、私は消えする前に述べたHTMLを必要とするが。

$('form #form_ajax').removeClass().addClass((data.error === true) ? "error" : "success") 


if ($('form #form_ajax').hasClass('success')) { setTimeout("$('form #form_ajax').fadeOut('slow')", 2000); 

} 

私は運を持ついくつかの場所に.remove('<p>')にフィットしようとしています。私はこれについて正しいことをしていますか?

ありがとうございました

答えて

0

もうすぐです。あなたのAJAXブロックの先頭にこれを追加してみてください:

アヤックスはそうあなたがオブジェクトを削除しようとしているアヤックスミリ秒 の番号の後に作品を送る即時 を開始 に.removeを送信した後に作成
$('#form_ajax p').remove(); 
0

<p>それが最良の方法は、完全なAjaxの機能を使用する

var request = $.ajax( 
url : "example.php" 
,type: "POST") 

    request.done(function() { alert("success"); }); 
    request.fail(function() { alert("error");  }); 
    request.always(function() { alert("complete"); }); 

であるあなたが.alwaysで<p>()関数を削除することができ、まだ

存在しませんでした全てが

+0

可読性が非常に悪く、コードのフォーマットが正しくありません。それを修正してください。 –

0

を完了した後それは単にあなたがpを削除したいremoveを使用してdiv要素を削除divの内側に削除されるpタグをラップし、クラス名と、その後

if (valid != '') { 
    $('form #form_ajax').removeClass().addClass('error').html('<div id="wrapDiv"><p>Please correct the errors above.</p>' + valid+"</div>").fadeIn('fast'); 
} else { 

    $('form #form_ajax').removeClass().addClass('processing').html('<div id="wrapDiv"><p>Sending…</p></div>').fadeIn('fast'); 

    var formData = $('form').serialize(); 
    submitForm(formData); 

} 

を区別発射しますタグ

$(".wrapDiv").remove(); 
関連する問題