2

私はこれを持っています

$("#formNewsletter").submit(function(){

                        return false;
                    })

期待どおりに機能します-フォームは送信されません。私がこれを書くとき、それはtrueを返しているようです(フォームが送信されています)

$("#formNewsletter").submit(function(){
                        if($("#newsletterSelSpec div").length() > 0)
                        {
                            alert("Good");
                        }
                        else
                        {
                            alert("Please add at least one speciality!");
                        }
                        return false;
                    })

なぜこれが起こっているのか、どうすればそれを機能させることができるのかを理解したいと思います。

ありがとうございました!

4

2 に答える 2

2

プロパティの長さはメソッドではありません。

を使用し$("#newsletterSelSpec div").length > 0ます。


preventDefault()最初の引数に witch is a methodを使用して、イベントのデフォルトの動作を防ぐことができます。( event)。

$("#formNewsletter").submit(function(event) {
    event.preventDefault();

    if($("#newsletterSelSpec div").length() > 0)
        {
            alert("Good");
        }
    else
        {
            alert("Please add at least one speciality!");
        }
});

確かではありませんが、アラートが送信イベントではなくスクリプトのプロセスを停止することが問題である可能性があります。

于 2012-06-06T10:51:15.587 に答える
1
$("#formNewsletter").submit(function(e) {

    if ($("#newsletterSelSpec div").length > 0) {
        alert("Good");
    } else {
        e.preventDefault();  // prevent the form submission
        alert("Please add at least one speciality!");
    }
});

ノート

を使用していますが、それだけである.length()必要があります。.lengthつまり、

$("#newsletterSelSpec div").length
于 2012-06-06T10:48:48.440 に答える