`

火狐下input密码框自动填充值的问题.

阅读更多

昨天在测试的时候发现了一个很怪异的问题.原本的设计逻辑是:当用户修改用户信息的时候.密码一栏默认是空.就表示用户不修改密码.只有密码一栏填写了值的时候后台才会更新密码.在ie和chrome下测试都没有发现问题.但是在在火狐下其他的修改页面.也没有问题.只是其中一个编辑页面出现了问题.就是密码框的位置,没传值.但是还莫名其妙的显示了值.如图:

这是期望的效果:



 火狐下的效果是:


部分jsp代码是:



	<tr>
					<td align="right"><fmt:message key="admin.user.name.title"/>:</td>
					<td align="left"><input type="text" id="admi_name"
						name="admi_name"  value="${adminBean.admi_name}" /></td>
				</tr>
					<tr>
						<td align="right"><fmt:message
								key="shop.member.password.title"></fmt:message>:</td>
						<td align="left"><input type="password" id="admi_password"
							class="{rangelength:[6,8]}" name="admi_password" /></td>
					</tr>
				<tr>
					<td align="right"><fmt:message
							key="shop.member.password.confirm.title"></fmt:message>:</td>
					<td align="left"><input type="password"
						name="admi_password_confirm"
						class="{equalTo:'#admi_password'}" /></td>
				</tr>

 

并且保证不是js的问题.


经过测试.其他浏览器没有问题.发现火狐下别的页面也没有问题.就这个页面有问题.所以我就坚信是jsp页面的问题.经过百般的测试,发现了一点线索.就是当密码框上面的管理员姓名为空时,是不会有问题的,只有管理员姓名有值时,才会将紧挨着他的下一个密码框赋值.

 

我思想向后不明所以.很明显,后台框架是影响不到前台的.jsp里面的js我也都删除过.但是还是有这种问题.当我最终打算放弃,打算在iteye上逛一会的时候.在我登录iteye的时候(我这回是用的firefox,我正常情况下,不测试是不用firefox的,一般都是chrome.因为今天一直在用firefox测试,顺手就用了.)输入完密码点登录的时候,火狐弹出了提示框:是否记住密码?

 

当我看到这几个字眼的时候,灵光一闪.我上面的问题.是不是firefox的自动保存密码功能搞的鬼那?经过测试.发现确实是这个可恶的东东搞的鬼(说可恶,有点不合适,毕竟保存密码这个功能还是很方便的).

 

解决方案:

我刚发现这个问题的原因的时候,感觉没有一举两得的好办法,既想用密码保存功能,又想指定的字段不要自动填充密码.我半信半疑的打开"网页制作完全手册"查看input type=password 的属性.找了半天没发现和这个问题有关的属性.最后抱着试一试的态度,给管理员姓名字段加上的:autocomplete=off属性,就是关闭了它的自动提示功能.没想到奇迹就这么发生了!.

 

特此将这种怪异的问题记录下来,希望其他的同学别再为这个问题痛疼.!

  • 大小: 13.2 KB
  • 大小: 7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics