Javascript 当与Dojo验证一起使用时,Chrome 41密码保存会做出错误的选择

Javascript 当与Dojo验证一起使用时,Chrome 41密码保存会做出错误的选择,javascript,google-chrome,dojo,Javascript,Google Chrome,Dojo,Chrome的“保存密码”功能显然在提供记住密码时做出了一个简单的选择:它查看DOM中先前输入字段的值,并提供将密码键入该值的功能。因此,如果您有此用户名/密码组合: <form> <input value="myname" /> <input value="mypassword" /> </form> 浏览器将提供在“myname”键下保存密码“mypassword” 但是,使用Dojo ValidationTextBox时

Chrome的“保存密码”功能显然在提供记住密码时做出了一个简单的选择:它查看DOM中先前输入字段的值,并提供将密码键入该值的功能。因此,如果您有此用户名/密码组合:

<form>
    <input value="myname" />
    <input value="mypassword" />
</form>

浏览器将提供在“myname”键下保存密码“mypassword”

但是,使用Dojo ValidationTextBox时会出现问题,因为Dojo解析器插入了一个不可见的输入控件,其中包含一个用作验证图标的字符“X”(简化HTML视图):


在这种情况下,Chrome提供了以“X”的名称记住“mypassword”,这很尴尬


是否可以在Chrome中覆盖此行为?还是我们需要在Dojo中重写此功能

name
属性添加到验证小部件:

this.username=newvalidationtextbox({name:'username'});
this.password=newvalidationtextbox({name:'password'});
或声明:


这将生成具有名称属性的节点,Chrome可以使用这些属性将值与键关联。您的简化HTML视图将如下所示:


我已经想好了如何让它工作。当您将name属性与适当的值(username、password)一起使用时,username值将是密码输入上方的输入值

1.用一个表单包围你的字段

2.在输入字段中添加一个值为“username”和“password”的自动完成

3.添加要提交的按钮或仅添加常规按钮


请看

对我不起作用。。Chrome总是希望将“X”保存为用户名。但密码是正确的。
<form>
    <div>
        <input value="X" />
        <input value="myname" />
    </div>
    <div>
        <input value="X" />
        <input value="mypassword" />
    </div>
</form>
<form method="post">
<input type="text" autocomplete="username" data-dojo-props="selectOnClick: true, uppercase: true" data-dojo-type="dijit/form/ValidationTextBox" required="required" />
</form>
<input type="text" autocomplete="username" data-dojo-props="selectOnClick: true, uppercase: true" data-dojo-type="dijit/form/ValidationTextBox" required="required" />
<input type="password" autocomplete="password" data-dojo-props="selectOnClick: true, uppercase: true" data-dojo-type="dijit/form/ValidationTextBox" required="required" /> 
<input type="submit" value="send" />