0

我发现,如果您使用 javascript 以编程方式用值填充输入元素,然后按下按钮(不触摸输入元素),则该值将不会在 ie 中使用自动完成功能注册(使用 6、7、8 进行测试) ,而这在“普通”现代浏览器中确实有效。仅当您手动按下至少一个键并随后按下提交按钮时,这些值才会添加到自动完成寄存器中。

是否有任何解决方法可以使旧的浏览器注册以编程方式插入的值?例如,有没有一种方法可以模拟输入实际在输入元素中填写该值的值?

<form method="POST">
    <input type="text" name="test" />
    <input type="submit" />
</form>

<script>
    var input = document.getElementsByName("test")[0];
    input.value = "some value";
</script>
4

1 回答 1

1

不。由于这些问题,IE8 和他的哥哥们已经很老了,并且不受新框架的支持。

现代浏览器会知道保存正确的值,即使它是通过 Javascript 编写的,因为它们会写入输入的真实值。IE8 和更早版本仅在您写入该值时才保存该值 - 无法模拟用户写入该值的方式。

于 2013-07-03T21:13:47.633 回答