对浏览器保存提交的表单的疑问

2012-08-26 17:05:29 +08:00
 Rabbit52
我主要指的是登录的时候输入用户名密码那种表单

如果直接跳转提交,浏览器一般会询问是否保存密码

但是我用ajax提交的时候问题就来了

firefox会询问,是否保存呀,密码变更了是否更新呀什么的

但是chrome不会耶!

当然IE也没有

这个能在程序上控制吗?

谢谢各位!!
4730 次点击
所在节点    程序员
15 条回复
NemoAlex
2012-08-26 17:12:28 +08:00
这是浏览器的行为
给 input 对象加上 autocomplete="off" 可以防止浏览器记住填充内容
没有试过在 Firefox 下是什么表现,不知道会不会对这个产生影响
Rabbit52
2012-08-26 17:15:33 +08:00
@NemoAlex 问题是我现在想让它记住,但是因为是ajax提交,它没给记住了~
NemoAlex
2012-08-26 17:24:25 +08:00
@Rabbit52 一定要无刷新吗?
不需要的话可以改成普通提交
JS 验证过表单以后用 form.submit()
Rabbit52
2012-08-26 17:38:05 +08:00
@NemoAlex 能行我肯定不用ajax了呀,还有服务器验证的嘛
ghbjy1128
2012-08-27 12:23:30 +08:00
用Cookies记啊
litten
2012-08-27 13:02:20 +08:00
请问你的调试是在静态页面,还是在服务器上调试?
用fiddle抓包看看。
hzlzh
2012-08-27 13:04:57 +08:00
浏览器是通过识别onSubmit事件来触发记住密码控件的,你绑定submit()事件就好了,这样ajax的提交也会兼容1Password这类插件的功能
Rabbit52
2012-08-27 13:59:20 +08:00
@hzlzh 我刚才试了,把click事件换成了submit但还是没有触发chrome的保存密码提示。不过firefox一直能行
joshyu
2012-08-27 14:46:34 +08:00
yulanggong
2012-08-28 09:18:40 +08:00
无刷新提交的另一种方案是把表单的 target 设为一个本页的 iframe。这样不会阻止 submit 事件的默认行为,不知道能不能触发其他浏览器的保存密码提示。
Rabbit52
2012-08-28 17:08:16 +08:00
@yulanggong 那有这个问题,如果登录成功, 那当前页面肯定要跳转嘛。在Chrome上的情况就是,还没来得及点保存密码那个提示条就消失了
arzusyume
2012-08-28 17:59:52 +08:00
把登陆框放在iframe里不使用ajax提交,等登陆成功后再对iframe进行处理呢
yulanggong
2012-08-28 18:35:16 +08:00
@Rabbit52 以我用 Firefox 的经验,保存密码提示条不会因为页面跳转消失的。而且跳转是 JS 可控的,可以根据 可视区域的大小的变化 来判断那个提示条是不是显示出来了,如果显示出来了就不跳,等提示消失了再跳转。
Rabbit52
2012-08-28 19:51:53 +08:00
@yulanggong 唉,这个处理起来还真复杂
Rabbit52
2012-08-28 19:53:20 +08:00
@arzusyume 这不问题症结就是ajax引起的么,不ajax提交就没这问题了撒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/46066

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX