我有一个textbox表单字段,由用户填充.但是目前(在Firefox 10中)用户可以离开页面,然后返回,输入将填充其先前的值.我认为这会造成令人困惑的用户体验,并希望阻止它.
有没有办法在不手动重置值的情况下执行此操作?我已经尝试将响应更改为不缓存以及设置autocomplete='false'没有运气.
当我生成这样的文本输入时:
<input type="text" name="name" />
Run Code Online (Sandbox Code Playgroud)
当我开始输入时,浏览器将在文本输入下方显示一个下拉列表.此列表包含我之前在此浏览器中用于此文本输入的值.我想通过ajax生成自己的自动完成功能.
如何通过css或javascript告诉浏览器不生成此下拉列表.
如果使用jquery这个任务更容易,我宁愿这样的解决方案.
很难在搜索引擎中搜索关键字的任意组合,因为大多数热门开发者使用它需要ajax自定义自动完成.
大多数开发人员搜索自定义自动完成以从ajax获取db的结果,或者由于安全原因如何禁用浏览器自动完成,或者他们想要使用其他自动完成扩展程序.
但是我不是在谈论自动完成.我发现简单的普通浏览器自动完成或浏览器保存的形式IE或FF,在填写文本框中的文本时将作为下拉列表的最近选择.
在登录表单中填写用户名和密码等表单非常简单.提交表单后(表单数据发布)浏览器将保存自动完成或FF中的事件将要求保存密码.
现在,考虑通过ajax提交的登录.表单数据不会由IE或FF自动保存,因为表单不是通过post方法发送的.我很确定这是因为ajax vs post方法.
像DotNetNuke这样的CMS使用这种方式,我很难输入用户名和密码进行5用户登录以进行开发,事件我想让用户在浏览器中保存自己的表单数据而不需要任何自定义或扩展程序.通过另一个示例,用户可以查看和使用相同的电子邮件来填充跨网站或域的任何电子邮件表单.
如何解决这个问题?您有没有建议哪些关键字更适合搜索?
CallMeLaNN
我们网站的几个部分用户需要输入一些信息,Firefox的自动填充会在页面加载时接管 - 大多数都是错误的!
例如,有一个"传真号码"字段,对于某些用户,Firefox一直在填写他们的电子邮件地址.如果他们没有看到这个并且他们去提交表格,验证人向他们抱怨它不是有效的数字格式.
这确实让我们的销售人员感到担忧,因为当他们去查看客户页面时,他们有时会看到它充满了自己的个人信息.
有没有办法阻止Firefox这样做?
我有这个代码:
html:
<input id="register_username" type="text">
<input id="register_password" type="text">
<input id="register_repeatpassword" type="text">
<input id="register_email" type="text">
Run Code Online (Sandbox Code Playgroud)
Jquery:
$(document).ready(function(){
$('#register_username').attr('autocomplete','off');
$('#register_password').attr('autocomplete','off');
$('#register_repeatpassword').attr('autocomplete','off');
$('#register_email').attr('autocomplete','off');
});
Run Code Online (Sandbox Code Playgroud)
我想禁用某些浏览器的自动完成功能,并且实际上让用户键入整个字段但代码不起作用,下拉菜单仍然出现,用户仍然可以选择之前键入的内容.我也尝试过用户,autocomplete="off"但什么都没发生.我在这做错了什么?
您知道浏览器如何自动填充文本框?显然这会让用户感到困惑.他们认为这是一个只有有限选项的短名单.
有谁知道如何禁用自动完成?
反正有没有阻止浏览器按下向下键显示以前输入的字段值?
如果这是不可能的,我的另一个问题是按下向下键,将显示先前输入值的列表,并且在按下TAB键时,将选择列表上当前突出显示的值并将其设置为该领域的价值.我不想要这个,我只想将焦点传递给下一个输入元素,而不选择任何值.
有没有办法覆盖浏览器行为?尽管jQuery解决方案也很好,但是在javascript中使用解决方案是首选.谢谢!
我的表单中有两个字段,Chrome 错误地将其识别为信用卡号(一个用于电话号码,一个用于传真号码)。还有两个名字字段,Chrome 认为它们是信用卡名称字段,并希望自动填充。我可以在这些元素上使用某些属性来告诉 Chrome 它们实际上与信用卡无关吗?
我试过在输入上设置 autocomplete="false" 。这删除了地址/联系信息的自动填充选项,但信用卡选项仍然存在。
我已经创建了一个登录表单,其中包含"用户名"和"密码"的标签,下面的jquery用于在用户关注字段后隐藏标签.
$(document).ready(function(){
$("form.login input")
.bind("focus.labelFx", function(){
$(this).prev().hide();
})
.bind("blur.labelFx", function(){
$(this).prev()[!this.value ? "show" : "hide"]();
})
.trigger("blur.labelFx");
});
Run Code Online (Sandbox Code Playgroud)
和HTML:
<form method="post" id="login-form" action="/accounts/login/">
<div class="input-wrapper">
<label for="id_username">Username</label>
<input id="id_username" size="30" type="text" name="username">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
问题是chrome的自动完成似乎是在加载用户名和密码之前,这个脚本可以捕获它,给我奇怪的重叠文本,直到我手动关注它.这不是 Firefox的问题.图片来自:http://imgur.com/kJRLa
有关如何解决这个问题的建议,以便自动填充数据导致标签隐藏?
在输入html表单时,像Firefox这样的浏览器或者存储值,有时是静静的.因此,当键入其他webforms时,浏览器会巧妙地建议相同的信息.显示下拉列表的另一种方法是双击空文本框.
在电子商务网站中,客户键入信用卡号和另一个敏感信息.我如何避免或阻止浏览器存储该敏感信息?
另一个担心是存储的篡改表单数据(例如恶意软件).然后,客户可以选择此污染数据并危及该站点.
问候.