フォーム送信イベント ハンドラーがあり、その中にフォーム.each
の送信を防ぐために親 (form.submit) に対して false を返したい関数があります。私はそれを行う方法を理解できません。
$("#form").submit(function () {
$(selector).each (function () { if ($(this).val() === ""}) {return false;});
});
フォーム送信イベント ハンドラーがあり、その中にフォーム.each
の送信を防ぐために親 (form.submit) に対して false を返したい関数があります。私はそれを行う方法を理解できません。
$("#form").submit(function () {
$(selector).each (function () { if ($(this).val() === ""}) {return false;});
});
元のイベント オブジェクトで preventDefault を使用してみてください
$("#form").submit(function (event) {
$(selector).each(function () {
if ($(this).val() === ""){
event.preventDefault();
}
});
});
状態を変数に格納し、.each()
$("#form").submit(function () {
var correctForm = true;
$(selector).each(function () {
if (this.value === '') correctForm = false;
});
return correctForm;
});
また、.value
jquery オブジェクトを作成して使用する代わりに、入力要素のプロパティを使用することもできます。.val()
内部関数から直接値を返すことはできません。代わりに、変数を使用してそれを行うことができます
$("#form").submit(function () {
var valid = true;
$(selector).each(function () {
if ($(this).val() === "") {
valid = false;
return false;
}
});
return valid ;
});
試す
$("#form").submit(function () {
$(selector).each (function () { if ($(this).val() === ""){}
return false;
});
});