Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查表单是否没有输入字段,如果没有,如何将焦点设置为锚元素_Javascript_Jquery - Fatal编程技术网

Javascript 如何检查表单是否没有输入字段,如果没有,如何将焦点设置为锚元素

Javascript 如何检查表单是否没有输入字段,如果没有,如何将焦点设置为锚元素,javascript,jquery,Javascript,Jquery,有没有办法检查特定表单中是否有输入字段?或者如果它没有输入字段 更新: 如果满足条件,如何将焦点返回到页面加载上的按钮? 下面的方法似乎不起作用 var numInputs = $("#forgotPassword").find("input:visible").length; if(numInputs == 0){ $('.button-class > a').focus(); } 只需检查选择器结果是否包含任何元素,我假设输入字段指的是文本输入字段: $('#myform').fi

有没有办法检查特定表单中是否有输入字段?或者如果它没有输入字段

更新:

如果满足条件,如何将焦点返回到页面加载上的按钮? 下面的方法似乎不起作用

var numInputs = $("#forgotPassword").find("input:visible").length;
if(numInputs == 0){
$('.button-class > a').focus(); 
}

只需检查选择器结果是否包含任何元素,我假设输入字段指的是文本输入字段:

$('#myform').find('input[type="text"]').length

我只需选择表单中的所有输入,然后检查有多少返回

var numInputs = $("#formId input").length;

if (numInputs === 0)
   console.log("no inputs");
当然,如果你想包括文本区域和选择

var numInputs = $("#formId input, #formId textarea, #formId select").length;
或者更简单地说:

var numInputs = $("#formId").find("input, textarea, select").length;
编辑

要排除隐藏输入,可以使用:visible伪选择器

var numInputs = $("#formId input:visible").length;

如何排除隐藏的输入?谢谢你,亚当,这很有效。你能检查一下更新后的问题吗?当我以$'formId>columns>.button class>a.的方式访问它时,它会工作@牵牛星-我猜另一种方式,从你上面的评论,工作,因为它更具体。我猜,$.buttn class>a在其结果集中拾取了多个项目,并最终聚焦于它与var x=document.getElementByIdforgotPassword.getElementsByTagNamea一起工作的最后一个项目;x[0],焦点;