V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Rabbit52
V2EX  ›  程序员

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

  •  
  •   Rabbit52 ·
    HugoPresents · 2012-08-26 17:05:29 +08:00 · 4735 次点击
    这是一个创建于 4475 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我主要指的是登录的时候输入用户名密码那种表单

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

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

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

    但是chrome不会耶!

    当然IE也没有

    这个能在程序上控制吗?

    谢谢各位!!
    15 条回复    1970-01-01 08:00:00 +08:00
    NemoAlex
        1
    NemoAlex  
       2012-08-26 17:12:28 +08:00
    这是浏览器的行为
    给 input 对象加上 autocomplete="off" 可以防止浏览器记住填充内容
    没有试过在 Firefox 下是什么表现,不知道会不会对这个产生影响
    Rabbit52
        2
    Rabbit52  
    OP
       2012-08-26 17:15:33 +08:00
    @NemoAlex 问题是我现在想让它记住,但是因为是ajax提交,它没给记住了~
    NemoAlex
        3
    NemoAlex  
       2012-08-26 17:24:25 +08:00
    @Rabbit52 一定要无刷新吗?
    不需要的话可以改成普通提交
    JS 验证过表单以后用 form.submit()
    Rabbit52
        4
    Rabbit52  
    OP
       2012-08-26 17:38:05 +08:00
    @NemoAlex 能行我肯定不用ajax了呀,还有服务器验证的嘛
    ghbjy1128
        5
    ghbjy1128  
       2012-08-27 12:23:30 +08:00
    用Cookies记啊
    litten
        6
    litten  
       2012-08-27 13:02:20 +08:00
    请问你的调试是在静态页面,还是在服务器上调试?
    用fiddle抓包看看。
    hzlzh
        7
    hzlzh  
       2012-08-27 13:04:57 +08:00
    浏览器是通过识别onSubmit事件来触发记住密码控件的,你绑定submit()事件就好了,这样ajax的提交也会兼容1Password这类插件的功能
    Rabbit52
        8
    Rabbit52  
    OP
       2012-08-27 13:59:20 +08:00
    @hzlzh 我刚才试了,把click事件换成了submit但还是没有触发chrome的保存密码提示。不过firefox一直能行
    joshyu
        9
    joshyu  
       2012-08-27 14:46:34 +08:00
    yulanggong
        10
    yulanggong  
       2012-08-28 09:18:40 +08:00
    无刷新提交的另一种方案是把表单的 target 设为一个本页的 iframe。这样不会阻止 submit 事件的默认行为,不知道能不能触发其他浏览器的保存密码提示。
    Rabbit52
        11
    Rabbit52  
    OP
       2012-08-28 17:08:16 +08:00
    @yulanggong 那有这个问题,如果登录成功, 那当前页面肯定要跳转嘛。在Chrome上的情况就是,还没来得及点保存密码那个提示条就消失了
    arzusyume
        12
    arzusyume  
       2012-08-28 17:59:52 +08:00
    把登陆框放在iframe里不使用ajax提交,等登陆成功后再对iframe进行处理呢
    yulanggong
        13
    yulanggong  
       2012-08-28 18:35:16 +08:00
    @Rabbit52 以我用 Firefox 的经验,保存密码提示条不会因为页面跳转消失的。而且跳转是 JS 可控的,可以根据 可视区域的大小的变化 来判断那个提示条是不是显示出来了,如果显示出来了就不跳,等提示消失了再跳转。
    Rabbit52
        14
    Rabbit52  
    OP
       2012-08-28 19:51:53 +08:00
    @yulanggong 唉,这个处理起来还真复杂
    Rabbit52
        15
    Rabbit52  
    OP
       2012-08-28 19:53:20 +08:00
    @arzusyume 这不问题症结就是ajax引起的么,不ajax提交就没这问题了撒
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1633 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:58 · PVG 00:58 · LAX 08:58 · JFK 11:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.