2011-10-21 8 views
1

フォームを送信すると、jQueryにメッセージが表示されます。投稿時にjQueryにメッセージを一度表示

私は

$('form').submit(function(){ 
    if ($('#title').val() != '' && $('#comment').val() != '') 
     $('form').append($('<span>').text('Bug sent').delay(4000).fadeOut(600)); 
    else 
     $('form').append($('<span>').text('Fields are empty').delay(4000).fadeOut(600)); 

return false; 
}); 

例を複数回送信するとき、それは一度だけ表示されたい:http://jsfiddle.net/bUS8e/

答えて

3

は単に形式で既存のspan秒を削除:http://jsfiddle.net/pimvdb/bUS8e/1/。これはまた、あなたが削除したしたくないかもしれません、他の、無関係なspan Sを削除することを

$('form span').remove(); 

は注意してください。その場合は、追加するメッセージspanにクラスを追加し、$('form span.message').remove();を使用して、メッセージspanが削除されるようにすることができます。

+0

、感謝します。 –

2

$('form').text()に「Bug sent」が含まれているかどうかを確認しますか? すなわち

$('form').submit(function(){ 
    if ($('#title').val() != '' && $('#comment').val() != '') 
     if (!/Bug sent/.test($('form').text()) { 
      $('form').append($('<span>').text('Bug sent').delay(4000).fadeOut(600)); 
     } 
    else 
     $('form').append($('<span>').text('Fields are empty').delay(4000).fadeOut(600)); 

return false; 
}); 
+0

'str.test'は関数ではありません。あなたはおそらくどのライブラリを使用していますか? – pimvdb

+0

私はあなたのコメントの前にこれを編集しましたが、はい、私は本当に間違った方法で私のRegExpとString変数を取得しました。幸運にも私は自分の間違いを見つけて修正しました;) –

1

あなたは、HTMLコードにspanを追加し、IDを与えることができます。新しいspanを毎回追加するのではなく、既存のIDを使用してアドレス指定するだけで既存のIDを再利用できます。

2

ユーザーがフォームを送信すると、すべてのスパンが削除されます。 (必要であれば)その後、再びそれらを追加します。

Like this

1

がフォームにdiv(または他の要素)を追加し、代わりに$('form').append([YOUR STUFF])$('div').html([YOUR STUFF])を使用しています。

0

前に、親要素をクリアする必要があります:それは作品

$('form').submit(function(){ 
    if ($('#title').val() != '' && $('#comment').val() != '') 
     $('form').empty().append($('<span>').text('Bug sent').delay(4000).fadeOut(600)); 
    else 
     $('form').empty().append($('<span>').text('Fields are empty').delay(4000).fadeOut(600)); 

    return false; 
}); 
+0

すべての 'input'sが削除されるので、それが最善の解決策であるかどうかは分かりません。 – pimvdb

+1

フォームを削除します。 –

+0

申し訳ありません、前に

を追加してこの番号を使用してください。 – dwalldorf

関連する問題