我正在编写一个包含三个文本输入的非常简单的Web应用程序 输入用于生成结果,但所有工作都是在Javascript中完成的,因此无需提交表单.我正在尝试找到一种方法来让浏览器存储自动完成的输入值,就像它们是在提交的表单中一样.
我已经尝试手动输入autocomplete ="on",但没有提交表单,浏览器无法知道何时应该存储值,所以这没有任何效果.
我还尝试以具有onSubmit ="return false;"的形式包装输入,但是阻止表单实际提交似乎也阻止了浏览器存储其输入的值.
当然可以手动使用localStorage或cookie来持久保存输入,然后从这些提示中生成自动完成提示,但我希望找到一种能够利用本机浏览器行为而不是手动复制它的解决方案.
注意:此问题是从其原始版本进行了大量编辑.这个问题已经大大简化了.
以前曾多次提出类似的问题,不同的形式 - 例如,
但是,这个问题涉及Chrome功能的一个非常具体的方面,所以在这方面它是完全不同的.
从过去的答案来看,似乎让Chrome提示密码保存的最佳方法是将表单提交给虚拟iframe,同时实际通过AJAX登录:示例.这对我来说很有意义,所以我现在已经花了几天的时间来摆弄一些示例代码.但是,Chrome在这方面的行为对我来说没有意义.完全没有.因此问题.
出于某种原因,如果在onDomReady之后/之后存在提交到虚拟iframe的表单,则Chrome不会提示您保存密码.
可以在这里找到一个jsfiddle ,但它没什么用处,因为你必须dummy.html在本地创建才能看到所描述的行为.因此,最好的方法是将完整的html复制到您自己的html中index.html,然后创建一个dummy.html文件.
这是完整的代码index.html.这三种方法都突出显示为(1),(2),(3).仅(2)确保提示用户保存其密码,并且(3)不起作用的事实对我来说特别困惑.
<html>
<head>
<title>Chrome: Remember Password</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script type="text/javascript">
$(function(){
function create_login_form()
{
$('#login_form').html(
"<input type='text' name='email'>" +
"<input type='password' name='password'>" +
"<input id='login-button' type='submit' value='Login'/>");
}
// (1) this does not work. chrome seems to require time after …Run Code Online (Sandbox Code Playgroud) 很难在搜索引擎中搜索关键字的任意组合,因为大多数热门开发者使用它需要ajax自定义自动完成.
大多数开发人员搜索自定义自动完成以从ajax获取db的结果,或者由于安全原因如何禁用浏览器自动完成,或者他们想要使用其他自动完成扩展程序.
但是我不是在谈论自动完成.我发现简单的普通浏览器自动完成或浏览器保存的形式IE或FF,在填写文本框中的文本时将作为下拉列表的最近选择.
在登录表单中填写用户名和密码等表单非常简单.提交表单后(表单数据发布)浏览器将保存自动完成或FF中的事件将要求保存密码.
现在,考虑通过ajax提交的登录.表单数据不会由IE或FF自动保存,因为表单不是通过post方法发送的.我很确定这是因为ajax vs post方法.
像DotNetNuke这样的CMS使用这种方式,我很难输入用户名和密码进行5用户登录以进行开发,事件我想让用户在浏览器中保存自己的表单数据而不需要任何自定义或扩展程序.通过另一个示例,用户可以查看和使用相同的电子邮件来填充跨网站或域的任何电子邮件表单.
如何解决这个问题?您有没有建议哪些关键字更适合搜索?
CallMeLaNN
forms ×2
javascript ×2
ajax ×1
autocomplete ×1
backbone.js ×1
browser ×1
html ×1
jquery ×1
post ×1