ユーザ入力の詳細をDBに送信する前に、妥当性検査のチェックが必要です。私はフォームのタブと1つの共通の独立したセーブボタンを持っています。javaScript:偽を返した後でも行が実行されています
$scope.saveFn = function() {
$("#active_form_id")
.find("input,textarea,select")
.each(function (e) {
var value = $(this).val();
var id = $(this).prop("id");
if (value == null || value == "") {
return false;
//Abort things here
}
});
alert("After validation check");
}
これは、ユーザーが保存ボタンを押したときに呼び出され、それをサーバーにデータを保存し1つのエンドポイントの呼び出しを怒鳴るました。 私の問題はreturn false
ステートメントが実行されているにもかかわらず、です。エンドポイントが呼び出され、以下の警告が実行されます。
アラートステートメントの実行を停止するにはどうすればよいですか?
ifステートメントは本当ですか? –
投稿したコードは、falseを返した後は何も表示されません。コードは、クロージャ内のreturn文の後に実行されることはありません。 – Utkanos
'alert()'は 'each()'関数の外にあるので、常に実行されます.. 'return false;'は '$ scope.saveFn = function(){また、警告が最初に実行され、その後、 'each()'が動作を開始します。 –