Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何禁用firefox';s表单自动完成而不更改事件?_Javascript_Firefox_Dom - Fatal编程技术网

Javascript 如何禁用firefox';s表单自动完成而不更改事件?

Javascript 如何禁用firefox';s表单自动完成而不更改事件?,javascript,firefox,dom,Javascript,Firefox,Dom,因此,firefox有一个巧妙的机制,当页面被重新加载或使用后退按钮时,它会尝试自动完成字段中的值。这很好,除了你有一个下拉菜单,当它设置为一个值时,会使用ajax修改页面 最终的结果是浏览器重新加载页面,下拉列表中预先填充了记住的值,然后在dom就绪时不会触发任何更改事件。因此,附加的更改处理程序不会启动,因此页面不会更新 是否有一种“修复”此行为的好方法,以使其按预期为用户工作: a) 我们确实希望浏览器自动完成,因为这是一种良好的用户体验 b) 仍然希望onchange事件触发 目前我唯一

因此,firefox有一个巧妙的机制,当页面被重新加载或使用后退按钮时,它会尝试自动完成字段中的值。这很好,除了你有一个下拉菜单,当它设置为一个值时,会使用ajax修改页面

最终的结果是浏览器重新加载页面,下拉列表中预先填充了记住的值,然后在dom就绪时不会触发任何更改事件。因此,附加的更改处理程序不会启动,因此页面不会更新

是否有一种“修复”此行为的好方法,以使其按预期为用户工作:

a) 我们确实希望浏览器自动完成,因为这是一种良好的用户体验

b) 仍然希望onchange事件触发

目前我唯一能想到的是向文档中添加一个on ready事件,该文档中预先填充了表单中的初始值,当文档加载时,javascript将检查预先填充的值,如果与输入中的值不匹配,将触发更改处理程序

谁有更好的解决方案?有没有一个lib已经做到了这一点


(使用Rails 2.3.5+jQuery)

我认为可以添加
autocomplete=“off”
以防止浏览器预先填充这些字段


您还可以使用一个函数运行
onload
,基本上检查字段的值是否与
value=“”
参数中指定的值匹配。

不幸的是,在重新加载页面或使用后退按钮时,似乎无法实际禁用firefox自动填充字段。幸运的是,在
$(document).ready()
事件期间,这些值已经存在,因此,只要这些输入中的所有内容都可以进行.change更改,即使最初对它们进行了更改,这些值从何处来都无关紧要,而且可以正常工作。

很抱歉,这只是复制了我在问题中所写的内容。老实说,我不想禁用自动完成。。。我认为我给出的解决方案必须是我使用的。