2

フォーム送信イベント ハンドラーがあり、その中にフォーム.eachの送信を防ぐために親 (form.submit) に対して false を返したい関数があります。私はそれを行う方法を理解できません。

$("#form").submit(function () {
$(selector).each (function () { if ($(this).val() === ""}) {return false;});
});
4

4 に答える 4

1

元のイベント オブジェクトで preventDefault を使用してみてください

$("#form").submit(function (event) {
    $(selector).each(function () {
        if ($(this).val() === ""){
            event.preventDefault();
        }
    });
});
于 2013-10-26T15:16:13.480 に答える
1

状態を変数に格納し、.each()

$("#form").submit(function () {
    var correctForm = true;
    $(selector).each(function () {
        if (this.value === '') correctForm = false;
    });
    return correctForm;
});

また、.valuejquery オブジェクトを作成して使用する代わりに、入力要素のプロパティを使用することもできます。.val()

于 2013-10-26T15:16:58.677 に答える
0

内部関数から直接値を返すことはできません。代わりに、変数を使用してそれを行うことができます

$("#form").submit(function () {
    var valid = true;
    $(selector).each(function () {
        if ($(this).val() === "") {
            valid = false;
            return false;
        }
    });
    return valid ;
});
于 2013-10-26T15:14:20.457 に答える
0

試す

    $("#form").submit(function () {
 $(selector).each (function () { if ($(this).val() === ""){}
        return false;
 });
 });
于 2013-10-26T15:17:58.897 に答える