当前位置: 首页 > 知识库问答 >
问题:

名为“”的表单控件无效。。。不可聚焦

红富
2023-03-14

名为“additional\u here\u about\u other\u field”的无效表单控件不可聚焦。此代码用于具有四个下拉列表的选择字段。需要两个选项:#此处附加#u关于(其他)字段#附加#谁是(你的)矫正医生(字段)。选择必填字段时,必须在另一个文本字段中输入其他数据,该字段将显示/取消隐藏。当您选择一个必需的选项,然后切换到一个必需或非必需的选项并尝试提交表单时,您会得到“不可聚焦”错误。似乎当您选择一个必填字段,然后切换到另一个字段时,以前的必填字段(尽管现在隐藏)仍在等待验证?

jQuery(document).ready(function () {
	
	if(jQuery("#additional_here_about_other_field").length > 0){
		jQuery("#additional_here_about_other_field").hide();
		jQuery("#additional_how_did_u_hear_about_harp").change(function(){
			if(jQuery(this).val() == 'Other (please specify)'){ jQuery("#additional_here_about_other_field").show().prop('required',true); }
			else { jQuery("#additional_here_about_other_field").hide(); }
		});
	}
	if(jQuery("#additional_who_is_your_orthodontist").length > 0){
		jQuery("#additional_who_is_your_orthodontist").hide();
		jQuery("#additional_how_did_u_hear_about_harp").change(function(){
			if(jQuery(this).val() == 'Orthodontist Referral'){ jQuery("#additional_who_is_your_orthodontist").show().prop('required',true); }
			else { jQuery("#additional_who_is_your_orthodontist").hide(); }
		});
	}
});
HTML snippet
<select name="additional_how_did_u_hear_about_harp" id="additional_how_did_u_hear_about_harp" class="select " data-allow_clear="true" data-placeholder="How Did You Hear About The Harp?" >
	<option value=""  selected='selected'></option>
	<option value="Patient" >Patient</option>
	<option value="Orthodontist Referral" >Orthodontist Referral</option>
	<option value="Trade Show" >Trade Show</option>
	<option value="Mailer" >Mailer</option>
	<option value="Other (please specify)" >Other (please specify)</option>
</select>

<div class="clear"></div>
<p>		
	<input type="text" class="input-text " name="additional_here_about_other_field" id="additional_here_about_other_field" placeholder="Other (please specify)"   value=""  />
</p>
<div class="clear"></div>
<p>		
	<input type="text" class="input-text " name="additional_who_is_your_orthodontist" id="additional_who_is_your_orthodontist" placeholder="Who is your orthodontist?"   value=""  />
</p>
<div class="clear"></div>

共有3个答案

呼延晋
2023-03-14

首先,从字段中删除“required”。然后使用以下jQuery代码:

$('#your_input_or_select_id').prop('required',true);   //use this to add required while document ready
$('#your_input_or_select_id').removeAttr('required'); //use this to remove required whenever you want
潘楚
2023-03-14

从字段中删除“required”,并使用javascript逻辑查看是否需要它。

冷吉星
2023-03-14

表单控件被隐藏并不意味着不需要它。而且由于它是必需的,但是隐藏的浏览器不能集中表单控件。

每个地方你有。隐藏()将其更改为。隐藏()。prop('必需',false)来解决您的问题。

 类似资料:
  • 问题内容: 我的网站上有一个严重的问题。在Google Chrome浏览器中,某些客户无法进入我的付款页面。尝试提交表单时出现此错误: 这来自JavaScript控制台。 我读到问题可能是由于隐藏字段具有必填属性。现在的问题是,我们使用的是.net Webforms必需的字段验证器,而不是html5必需的属性。 出现此错误的似乎是随机的。有谁知道解决方案吗? 问题答案: 如果表单字段验证失败,则在

  • 我使用TinyMCE 4,这是我的代码: 我有一个问题。当我点击"提交"按钮,表单不发送,但在Web浏览器控制台我有错误:"一个无效的表单控件与名称='内容'是不可聚焦的。" 你能帮我吗?我怎样才能简单地解决这个问题?谢谢你的建议。

  • 在谷歌Chrome中,一些客户无法进入我的支付页面。当尝试提交表单时,我遇到以下错误: name=''的无效窗体控件不可聚焦。 这是来自JavaScript控制台的。 我读到这个问题可能是由于隐藏的字段具有必需的属性。现在的问题是,我们使用的是.NET webforms required字段验证器,而不是html5 required属性。 谁得到这个错误似乎是随机的。有没有人知道解决这个问题的办法

  • 我创建了一个表单,它使用jQuery拆分为许多“选项卡”;以及在各个选项卡中找到的字段。 表单中的所有字段都已检查到位,有些是必填字段,有些必须有最小值,等等。 null 这里你可以找到我所描述的一个例子,尽管它比实际的表单要简单得多,但如果你将它加载到Google Chrome中并立即提交表单,你就会在控制台中看到错误。

  • 我已经创建了一个表单,它使用jQuery被拆分为许多“选项卡”;以及在各个选项卡中找到的字段。 表单中的所有字段都有相应的检查,有些字段是必需的,有些字段必须具有最小值,等等。 但是,当我尝试提交一个在字段中包含无效值的表单时,如果这些字段位于不同于当前选项卡的选项卡下,我会在控制台上从GoogleChrome得到一个错误: 无效的表单控件不可聚焦 但用户看不到任何效果,也找不到错误的字段,因为浏

  • 当用户填写表单时,该字段通过jQuery的js脚本获取其值。用户在另一个输入中输入一个size,脚本对size值进行数学运算,然后使用jquery函数将结果放入“price final”输入:.val() 在浏览器中,我们可以看到输入是正确填写的,并且没有错误显示在当时。使用'novalidate'解决方案,一切都很顺利,所以我认为它不可能是nofocusable错误的原因。 然后,我在一个没有名