0

動的に読み込まれるフォームがあり、送信前にスパムをチェックする必要があるテキストエリアがあります。だから私はこのようなものを書きました:

$(document).ready(function(){
    $('form').live('submit',function(){
        if ( $('form textarea').val().match(/https?:\/\/|www\.|\.com/) ) {
            return false;
        }
        return true;
    })
});

そして、それは初めてうまくいきます。ただし、送信ボタンをもう一度クリックすると、検証を経ずにフォームが送信されます。SOにはすでに関連する質問がいくつかありますが、私はそれらの回答を試してみましたが、うまくいかないようです。たとえば、リスナーをフォームではなくドキュメントにアタッチし、onメソッドではなくメソッドを使用しようとしましliveたが、まだうまくいきません。どんな助けでも大歓迎です!

4

1 に答える 1

3

イベントの使用をトリガーしたフォームを使用するには、送信イベントをトリガーしたフォームと同じformではない可能性があります$('form textarea')this

$('form').live('submit',function(){
    if ( $('textarea', this).val().match(/https?:\/\/|www\.|\.com/) ) {
        return false;
    }
    return true;
})
于 2013-05-20T22:34:57.287 に答える