![]() |
1
63
我找到了这个问题的完整答案。(我已经在chrome 27和firefox 21中测试过了)。 有两件事要知道:
1。触发“保存密码”:为了 火狐21 当检测到存在包含输入文本字段和输入密码字段的表单时,将触发“保存密码”。所以我们只需要利用
如果你只处理firefox,上面的解决方案就足够了,但它在chrome 27中不起作用。然后你会问如何在chrome 27中触发“保存密码”。 为了 铬27 ,“保存密码”被触发 之后 它通过提交包含输入文本字段的表单重定向到页面 属性名为'username' 并输入密码字段 属性名为“password” . 因此,由于提交表单,我们无法阻止重定向,但可以在完成ajax登录后进行重定向。 (如果希望ajax登录不重新加载页面或不重定向到页面,很遗憾,我的解决方案不起作用。) 那么,我们可以用
类型为“button”的按钮将使单击该按钮时不提交表单。
然后,将函数绑定到用于ajax登录的按钮。最后,打电话
现在,您将发现chrome 27的方法也适用于firefox 21。所以最好用它。 2。还原保存的用户名/密码:
如果您已经将loginform硬编码为html,则在loginform中恢复保存的密码不会有问题。
备注:
如果您使用ajax登录,请不要添加
|
![]() |
2
36
使用A 按钮 登录:
如果你使用
从这个表格开始 没有提交按钮 并且没有操作字段,浏览器将不提供保存密码的功能。 使用A 提交 登录按钮:
但是,如果将按钮更改为
使用此方法时,浏览器应提供保存密码的功能。 这里是 JavaScript 用于两种方法:
|
![]() |
3
15
我自己一直在努力解决这个问题,我终于找到了这个问题以及导致它失败的原因。 这一切都源于我的登录表单被动态地注入页面(使用backbone.js)。一旦我将登录表单直接嵌入index.html文件中,所有的操作都像一个符咒。 我认为这是因为浏览器必须意识到存在一个现有的登录表单,但由于我的登录表单是动态注入到页面中的,所以它不知道是否存在“真正的”登录表单。 |
![]() |
4
12
这个解决方案对我有用,埃里克在CodingForums上发布了
代码:
看看这是否会导致提示出现。 埃里克 |
![]() |
5
11
有一个 最终的 强制所有浏览器(测试:chrome 25、safari 5.1、ie10、firefox 16)使用 JQuery 和 阿贾克斯 请求: JS:
HTML:
诀窍在于停止表单以自己的方式提交(event.stoppropagation()),而是发送自己的代码($.ajax()),并在ajax的成功回调函数中再次提交表单,以便浏览器捕获它并显示保存密码的请求。 您还可以添加一些错误处理程序等。 希望对某人有帮助。 |
![]() |
6
7
我试过 spetson's answer 但这在chrome 18上不起作用。所做的工作是向iframe添加一个加载处理程序,而不中断提交(jquery 1.7):
HTML:
getsessions()执行ajax调用,如果失败,则显示loginform div。(如果用户未通过身份验证,web服务将返回403)。 也在FF和IE8中测试过。 |
![]() |
7
4
浏览器可能无法检测到您的表单是登录表单。根据年的一些讨论
this previous question
,浏览器将查找类似于
编辑:
为了回答下面的问题,我认为firefox通过
|
![]() |
8
1
我花了很多时间阅读这条线索上的各种答案,对我来说,这实际上是有点不同的东西(相关,但不同)。在mobile safari(ios设备)上,如果在加载页面时隐藏登录表单,则不会显示提示(显示表单后提交)。您可以使用以下代码进行测试,该代码在页面加载5秒后显示表单。删除js和display:none,它就工作了。我还没有找到解决这个问题的办法,只是发了帖子,以防其他人有同样的问题,无法找出原因。 JS:
HTML:
|
![]() |
9
1
以下代码在上测试
JS Fiddle:
邮政编码:
评论
以下是ajax登录代码示例:
评论
|
![]() |
10
1
我为prototype.js用户找到了一个相当优雅的解决方案(或hack,不管怎样),它是使用prototype的最后一个坚持者之一。简单地替换相应的jquery方法就可以了。
首先,确保有一个
然后为
然后为创建侦听器
这在firefox 43和chrome 50中被测试为有效。 |
![]() |
11
0
您的站点可能已经在列表中,浏览器被告知不要提示保存密码。在Firefox中,选项->安全->记住站点密码[复选框]-例外[按钮] |
![]() |
12
0
在@michal roharik的答案中添加更多信息。 如果ajax调用将返回一个返回url,那么在调用form.submit之前,应该使用jquery将form action属性更改为该url。 前任。
|
![]() |
13
0
我也遇到过类似的问题,登录是用ajax完成的,但是如果表单(login form)是用ajax提交的,浏览器(firefox、chrome、safari和ie 7-10)不会提供保存密码的功能。 作为一个 解决方案 我已经将隐藏提交输入(loginformhiddensubmit)添加到由ajax提交的表单中,在ajax调用返回成功后,我将触发单击以隐藏提交输入。任何需要刷新的页面。点击可通过以下方式触发:
我添加隐藏提交按钮的原因是:
不会提供在IE中保存密码的功能(尽管它在其他浏览器中也有效)。 |
![]() |
14
-1
并非每个浏览器(如IE 6)都有记住凭据的选项。 你可以做的一件事是(一旦用户成功登录)通过cookie存储用户信息,并有一个“在这台机器上记住我”选项。这样,当用户再次来时(即使他已经注销),您的web应用程序可以检索cookie并获取用户信息(用户id+会话id),并允许他/她继续工作。 希望这能给人以启发。-) |
![]() |
15
-1
事实是,你不能强迫浏览器去问。我确信浏览器有自己的算法来猜测您是否输入了用户名/密码,例如查找
正如其他人建议的那样,您可以在cookie中添加用户信息。如果你这样做, 你最好加密它 至少不要储存他们的密码。可能最多只能存储他们的用户名。 |
![]() |
16
-1
可以将对话框附加到窗体,因此所有这些输入都在窗体中。另一件事是在用户名文本字段后面加上密码文本字段。 |
![]() |
17
-1
这对我来说工作得更好,因为它是100%ajaxed的,而且浏览器会检测到登录信息。
|
![]() |
18
-2
使用饼干可能是最好的方法。 你可以选择“记得我吗?”并让表单创建一个cookie来存储用户的登录信息。 编辑:用户会话信息 要创建cookie,需要使用php处理登录表单。 |
![]() |
James Williams · 如何在单击按钮时刷新div内容 3 年前 |
![]() |
Mehmet · javascript执行了多个 3 年前 |
![]() |
Shijil · 尝试在Jquery PHP搜索代码中添加选择标记功能 3 年前 |
![]() |
Parker · 如何使表格行的单元格项加粗n秒? 3 年前 |
![]() |
Chris J. · ajax获取查找数据属性值的请求 3 年前 |
![]() |
Pedro F · Ajax调用后脚本运行不正常 3 年前 |