if ($('#requestForm').val == "") {
alert('Please select at least one filter');
//return false;
}
else {
///Run my code
}
フォームがあり、入力は必要ありませんが、入力が選択されていない場合は、少なくとも1つのオプションを選択するようにアラートで通知する必要があります。
if ($('#requestForm').val == "") {
alert('Please select at least one filter');
//return false;
}
else {
///Run my code
}
フォームがあり、入力は必要ありませんが、入力が選択されていない場合は、少なくとも1つのオプションを選択するようにアラートで通知する必要があります。
var validate= false;
$('#requestForm input').each(function(){
if($(this).val() != '' || $(this).attr('checked'))
validate = true;
});
if(!validate){
alert('Please select at least one filter');
return false;
}
else {
Run my code
}
var isValid = !!$('form :input').filter(function() {
return this.value;
}).length;
if (!isValid)
alert('Please select at least one filter');
フォームIDがrequestForm
フォームセレクターとして使用されている場合:
$('#requestForm :input').filter(function() {
...
現在の回答はどちらも、条件が満たされるとすぐに短絡の恩恵を受けません。これはおそらく、JavaScriptの限られた数のフィールドのパフォーマンスにわずかな影響を与えるだけです。しかしまた、どちらも、あなたが入っているループの意図を宣言的に述べるのは得意ではありません。
これは、任意のフィルター基準を取り込んで、何かがその基準に一致するとすぐにtrueを返す単純な4行の拡張メソッドです。
jQuery.fn.any = function(filter){
for (i=0 ; i<this.length ; i++) {
if (filter.call(this[i])) return true;
}
return false;
};
次に、このように使用します
var gotMatch = $(":input").any(function() {
// you can put any condition you want in here
return this.value == 'hi';
});
jQuery.fn.any = function(filter){
for (i=0 ; i<this.length ; i++) {
if (filter.call(this[i])) return true;
}
return false;
};
$(function() {
var gotMatch = $(":input").any(function() {
return this.value == 'hi';
});
if (gotMatch) {
console.log("Hello to you too!");
} else {
console.log("Why don't you say Hi!");
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" value="">
<input type="text" value="">
<input type="text" value="">
.has()
.filter()
あなたが何を達成しようとしているのかは私にはそれほど明確ではありませんが、おそらくあなたはこれが役に立つと思うでしょう
https://github.com/maxatwork/form2js
これは、構造化されたフォームデータをJavascriptオブジェクトに変換するライブラリです。あなたはこれをする必要があるだけです
var obj = form2js("requestForm");
次に、結果を解析し、何も選択されていない場合はユーザーに警告します。
check = function()
{
var empty = $("#requestForm :input").filter(function() {
return this.value == ""; });
if(empty.length) {
alert("Please select at least one filter");
};}
これにより、少なくとも1つの入力が空の場合、メッセージが1回警告されます。次に、関数onclickを送信入力またはフォームを検証するボタンに追加するだけです。
<input type="submit" onclick="check();">