hd_myc 2015-04-24 08:43 采纳率: 16.7%
浏览 5973

兼容-chrome-form提交必填项隐藏问题

chrome 报错 An invalid form control with name='' is not focusable

搜遍google baidu 给的答案是 把必填项required属性去掉
然后在提交之前写了个方法

 var allInput = jQuery("input");
    var allFlag = document.getElementsByTagName("*");
    for (var k = 0 ; k < allFlag.length ; k ++){
        if (allFlag[k].name == "" && allFlag[k].getAttribute("required") == "True") {
            allFlag[k].removeAttribute("required");
        }
    }

    saveSubmit();

但是不好使

  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2015-04-24 08:57
    关注

    不是name=''的问题,是你的含有required属性的控件或者这个控件容器被隐藏起来了不可以见,导致包含required属性的控件无法获取焦点。

    你必须要将这个控件或者父容器设置为可见的。如下面的就会报错。。你需要将text设置为可见的。

     <form onsubmit="return ck(this)"><input type="text" id="t" style="display:none" required /><input type="submit" /></form>
    

    如果你不想将form中的控件内容呈现在页面上,给required 控件增加div容器,absolute定位,left和top设置为负值大点,就不会报错了,但是你这个不在视窗的区域必选要用js设置好值,要不提交不了表单

    
    <form onsubmit="return ck(this)"><div style="position:absolute;left:-9999999px;"><input type="text" id="t"  required /></div><input type="submit" /></form>
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料