场景: 很多时候,我们在登录后,浏览器会自动把我们登录的信息,在新打开的含有表单的页面的中,自动填充到某几个表单项里,这样会阻碍用户的使用

 

解决方法:

  在表单中,自动填充项标签,复制一份,把标签和style之外的东西去掉,写入display:none,让这个隐藏区域来接收自动填充的值,但不一定是放在原标签元素的上方还是下方,这个要看具体情况。

  有一种极端的处理方式,为了防止浏览器的差异,表单中,所有可以写入文本值的控件,都要复制两份,只保留标签和style,前后各放一份.例如下面,我用的是struts的模板写法,这里仅一个可写入文本的表单项来说明:

  原来的:

    <s:textfield name="user.enddate" id="user.enddate" placeholder="截止日期" cssClass="layui-input"/>

  修改之后的:

    <s:textfield cssStyle="display:none;" />
    <s:textfield name="user.enddate" id="user.enddate" placeholder="截止日期" cssClass="layui-input"/>
    <s:textfield cssStyle="display:none;" />

 

-------------------------------------------------------------------------------------------------------------------------------------

 

ps:我们不使用 添加autocomplete="off"属性 的方法,因为不具备普适性,很多情况下不能生效