请问如何让浏览器提示保存密码?

如何让浏览器提示保存密码?

嘿,我正在开发一个web应用程序,它的登录对话框如下所示:

  1. 用户单击“登录”
  2. 登录表单HTML使用ajax加载,并显示在页面上的dIV中。
  3. 用户输入用户/传递字段,然后单击Submit。不是

    <form>

    -用户/通行证通过Ajax提交
  4. 如果用户/PASS没有问题,页面将重新加载用户登录。
  5. 如果用户/PASS是坏的,页面不会重新加载,但是错误消息出现在DIV中,用户可以再试一次。

问题是:浏览器从来不提供通常的“保存这个密码?是的/从来没有/现在没有”提示,它为其他网站这样做。

我试着把<div>在……里面<form>带有“自动完成=‘ON’”的标记,但这没有什么区别。

是否有可能让浏览器提供存储密码而不对我的登录流进行重大修改?

谢谢埃里克

P.S.为了补充我的问题,我肯定是在使用存储密码的浏览器,而且我从未点击过“Not for this site”.这是一个技术问题,因为浏览器没有检测到它是登录表单,而不是操作符错误:-)



拉莫斯之舞
浏览 485回答 3
3回答

收到一只叮咚

使用扣子登录:如果您使用type="button"带着onclick处理程序使用ajax,然后浏览器不提供以保存密码。<form&nbsp;id="loginform"> &nbsp;<input&nbsp;name="username"&nbsp;type="text"&nbsp;/> &nbsp;<input&nbsp;name="password"&nbsp;type="password"&nbsp;/> &nbsp;<input&nbsp;name="doLogin"&nbsp;&nbsp;type="button"&nbsp;value="Login"&nbsp;onclick="login(this.form);"&nbsp;/></form>因为这个表格没有提交按钮。并且没有操作字段,浏览器将不会提供保存密码。使用提交按钮登录:但是,如果将按钮更改为type="submit"并处理提交,然后浏览器将提供以保存密码。<form&nbsp;id="loginform"&nbsp;action="login.php"&nbsp;onSubmit="return&nbsp;login(this);"> &nbsp;<input&nbsp;name="username"&nbsp;type="text"&nbsp;/> &nbsp;<input&nbsp;name="password"&nbsp;type="password"&nbsp;/> &nbsp;<input&nbsp;name="doLogin"&nbsp;&nbsp;type="submit"&nbsp;value="Login"&nbsp;/></form>使用此方法,浏览器应提供以保存密码。这是JavaScript在这两种方法中使用:function&nbsp;login(f){ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;username&nbsp;=&nbsp;f.username.value; &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;password&nbsp;=&nbsp;f.password.value; &nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Make&nbsp;your&nbsp;validation&nbsp;and&nbsp;ajax&nbsp;magic&nbsp;here.&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;&nbsp;//or&nbsp;the&nbsp;form&nbsp;will&nbsp;post&nbsp;your&nbsp;data&nbsp;to&nbsp;login.php}

一只萌萌小番薯

我自己一直在努力解决这个问题,我终于找到了这个问题,以及是什么导致了它的失败。这一切都是因为我的登录表单被动态地注入到页面中(使用Backbone.js)。一旦我将我的登录表单直接嵌入到index.html文件中,一切就像一种魅力。我认为这是因为浏览器必须知道有一个现有的登录表单,但是由于我的登录表单是动态地注入到页面中的,所以它不知道存在“真正的”登录表单。
打开App,查看更多内容
随时随地看视频慕课网APP