Jquery 确定表单中有多少输入/字段?

Jquery 确定表单中有多少输入/字段?,jquery,if-statement,Jquery,If Statement,确定每个表单中有多少字段,并将对其类别进行处理 MQL form=“数据MQL=yes” 5个字段形式=4个输入+1个选择 2字段表单-2输入 不确定如何将其包含在if语句中?我试图改变长度,但当我点击这两个字段时,它会一直进入5个字段窗体**我不允许更改任何HTML,因为它不能在表单中添加任何属性 试图 var emailInput=form.getFormElem().find(“输入[name='Email'])。长度; var firstnameInput=form.getFormEl

确定每个表单中有多少字段,并将对其类别进行处理

MQL form=“数据MQL=yes”

5个字段形式=4个输入+1个选择

2字段表单-2输入

不确定如何将其包含在if语句中?我试图改变长度,但当我点击这两个字段时,它会一直进入5个字段窗体**我不允许更改任何HTML,因为它不能在表单中添加任何属性

试图

var emailInput=form.getFormElem().find(“输入[name='Email'])。长度;
var firstnameInput=form.getFormElem().find(“输入[name='FirstName'])。长度;
var lastnameInput=form.getFormElem().find(“输入[name='LastName'])。长度;
var companyInput=form.getFormElem().find(“输入[name='Company'])。长度;
var countryInput=form.getFormElem().find(“选择[name='Country'])。长度;
$('.Form')。在('click',函数(事件){
event.stopPropagation();
事件。stopImmediatePropagation();
if($(this.attr('data-mql')==“yes”| |$(this.attr('data-mql')==“1”){
警报(“MQL”);
}否则{
如果(emailInput>=0&&firstnameInput>=0&&lastnameInput>=0&&companyInput>=0&&countryInput>=0){
警报(“五字段表”);
}
else if(emailInput>=0&&countryInput>=0){
警报(“两字段表”);
}
}
});

考虑以下代码

$(函数(){
$('form')。在('click',函数(事件){
event.stopPropagation();
事件。stopImmediatePropagation();
var$self=$(本);
var fieldCount=0;
fieldCount+=$(“输入[name='Email']”,$self).length;
fieldCount+=$(“输入[name='FirstName'],$self).length;
fieldCount+=$(“输入[name='LastName'],$self).length;
fieldCount+=$(“输入[name='Company']”,$self).length;
fieldCount+=$(“选择[name='Country'],$self).length;
if($self.attr('data-mql')==“是”| |$self.attr('data-mql')==“1”){
警报(“MQL”);
}否则{
如果(fieldCount==5){
警报(“五字段表”);
}else if(fieldCount==2){
警报(“两字段表”);
}
}
});
});

您试图完成的是什么?您有一个潜在的逻辑错误,请参阅:如果其中任何一个为FALSE或0值,则可能导致整个语句为FALSE。我正在尝试:如果单击一个有5个字段的表单,则执行某项操作。我尝试添加>=0,但仍然不起作用。但“某物”是什么你想做什么?请解释你希望你的代码做什么,以及它失败的方式。因此,如果用户单击表单;并且表单有5个输入字段,例如
count==5
。如果它有更少或更多,应该做什么?
getFormElem()在哪里
来自?它是某个库的一部分吗?这是计数,但是如果我在页面上有多个表单呢?现在是计数我在页面上的所有表单,而不是我单击的表单。@YanMak我更新了答案,使其更具动态性,并为
$(“表单”)
工作,而不是
$(“表单”)
谢谢!正在工作刚刚通过单击发现另一个问题,它触发了4次,我尝试使用.one/.bind/.unbind/.off(事件)…什么都没有working@YanMak如果没有看到一个最小的、可复制的示例(),我真的无法进一步提供帮助。