Jquery检查表单以查看是否有任何输入值

if ($('#requestForm').val == "") { alert('Please select at least one filter'); //return false; } else { ///Run my code } 

我有一个表单,不需要输入,但如果没有选择输入,我想要一个警告告诉他们至少选择一个选项。

 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中有限数量的字段而言,这可能仅相当于对性能的轻微打击。 但是,在声明性地陈述你正在进入的循环的意图时,两者都不是很好。

这是一个简单的4行扩展方法,它接受任何过滤条件,并在符合该条件时返回true。

 jQuery.fn.any = function(filter){ for (i=0 ; i 

然后像这样使用它

 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 
     

我不太清楚你想要达到的目标,但也许你可以找到有用的东西

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"); };} 

如果至少一个输入为空,这将警告消息ONCE。 然后只需将functiononclick添加到您的提交输入或您想要validation表单的任何按钮。