单击按钮时,我有一个包含4个文本字段的表单 我们应该看到至少有一个文本字段应该包含值,并且应该提交表单 并且表单也包含输入类型的Button。我只想要文本框字段值
$("#mybutton").click(function(){
$(":input").each(function(){
if($(this).value!=''){
$("#myform").submit();
}
});
});
答案 0 :(得分:6)
您可以将:text
用于选择器,将.filter()
缩小到具有值的.length
,然后选中{{3}},如下所示:
$("#mybutton").click(function(){
if($(":text").filter(function(){ return this.value!=''; }).length)
$("#myform").submit();
});
检查任何是否为空,如果是这种情况,则提交表单一次。
这是另一种检查<form>
提交的替代方案,对道格评论的赞美:
$("#myform").submit(function(){
if(!$(":text").filter(function(){ return this.value!=''; }).length)
return false;
});
答案 1 :(得分:3)
首先,绑定到form
提交不按钮点击。如果用户在字段中点击enter/return
,则会在没有支票的情况下提交您的表单:
$("form").submit(function (e) {
var fields = $(this).find(':text'),
cancel = true;
fields.each(function (i, el) {
if (el.value) {
cancel = false;
return false; // exit this loop
}
});
if (cancel) {
e.preventDefault(); // cancel submit since all fields are blank
}
});
答案 2 :(得分:1)
试一试。我已将:input
选择器替换为:text
以仅获取文本框。您还在jquery对象上调用.value
而不是使用.val()
方法。
$("#mybutton").click(function() {
$(":text").each(function() {
if($(this).val() !='') {
$("#myform").submit();
return false;
}
});
});
答案 3 :(得分:1)
使用input:text
选择器获取所有文本框。
$("input:text")