当在Chrome中用JavaScript删除所需属性时,checkValidity()将生成false
除非我遗漏了什么,否则这看起来像是Chrome中的一个bug 这里有三种形式,每种形式有两个无线电元件。当没有必需的属性时,表单上的checkValidity会像预期的那样返回true。当存在必需的属性时,表单上的checkValidity将返回false,这与预期的一样 但是,当使用JavaScript删除所需的属性时,checkValidity返回false。这不是我所期望的。欢迎提供任何解释/解决方法!这在Safari和Firefox中正常工作,但在Chrome中不起作用 console.log'Valid form:'+document.getElementById'validForm'。检查有效性; console.log'Invalid form:'+document.getElementById'invalidForm'。检查有效性; //document.getElementById'rad1'。必需=false//这和下面的都不起作用 //document.getElementById'rad2'。必需=false; getElementById'rad1'。删除属性'required'; getElementById'rad2'。删除属性'required'; console.log“应为有效形式:”+document.getElementById“应为有效形式”。检查有效性;当在Chrome中用JavaScript删除所需属性时,checkValidity()将生成false,javascript,html,forms,Javascript,Html,Forms,除非我遗漏了什么,否则这看起来像是Chrome中的一个bug 这里有三种形式,每种形式有两个无线电元件。当没有必需的属性时,表单上的checkValidity会像预期的那样返回true。当存在必需的属性时,表单上的checkValidity将返回false,这与预期的一样 但是,当使用JavaScript删除所需的属性时,checkValidity返回false。这不是我所期望的。欢迎提供任何解释/解决方法!这在Safari和Firefox中正常工作,但在Chrome中不起作用 console
我现在可以肯定地说,这是Chrome中的一个bug——如果所需属性是硬设置的,那么出于有效性目的,它不会被忽略,即使被删除,也不会再出现在该项目的属性列表中。如果它确实是固定在铬51,我们将不会等待太久,它被固定。同时,您可以删除硬设置的required属性,并使用setAttribute函数动态地将其放入 请查看下面的代码进行检查-这是一个下午的工作。默认情况下,所需的属性标记将被删除,因此它是有效的。单击“设置必需”后,它将变为无效。移除它可以正常工作。您可以通过单击“将属性日志打印到控制台”来检查RAD的属性,从而看到它已正确应用 重置Rads清除单选按钮(如果选择) 设置要求 删除所需的 检查是否有效 打印属性 复位雷达 需要函数集{ document.getElementByIdrad1.setAttributerequired; document.getElementByIdrad2.setAttributerequired; //getElementById'shouldbavalidForm'。验证; } 功能要求{ document.getElementByIdrad2.removeAttributerequired; document.getElementByIdrad1.removeAttributerequired; } 函数检查有效{ console.log“应为有效形式:”+document.getElementById“应为有效形式”。检查有效性; console.log'Rad1:'+document.getElementById'Rad1'。检查有效性; console.log'Rad2:'+document.getElementById'Rad2'。检查有效性; log'willValidate:Rad1:'+document.getElementById'Rad1'。willValidate; log'willValidate:Rad2:'+document.getElementById'Rad2'。willValidate; log'validationMessage:Rad1:'+document.getElementById'Rad1'.validationMessage; log'validationMessage:Rad2:'+document.getElementById'Rad2'.validationMessage; } 函数printtr{ console.lograd1属性; var el=document.getElementByIdrad1; 对于var i=0,atts=el.attributes,n=atts.length,arr=[];i