gpt4 book ai didi

javascript - 选择浏览器自动完成功能提交表单(不是自定义自动完成功能)

转载 作者:行者123 更新时间:2023-12-03 07:20:09 26 4
gpt4 key购买 nike

我的 HTML 正文如下所示:

<body>
<form action='http://www.example.com' method='GET'>
<input type='text' id="text_input"/>
</form>
</body>

在字段中输入几个值并返回站点后,浏览器会向用户提供自动完成建议。当您选择其中一个时,如何让表单自动提交?

this question ,它们在 jQuery 中显示了类似的内容:

$("#text_input").autocomplete({
source: ['apple', 'banana'],
minLength: 2,
select: function(event, ui) {
$("#text_input").val(ui.item.value);
$("#text_input").closest('form').submit(); }
});

但是,这使用自定义自动完成建议,而不是浏览器保存的结果。

最佳答案

使用 JS 通常无法检测到浏览器自动完成,从脚本的 Angular 来看,它只会显示用户输入了一些数据。

我认为最好的办法是重新考虑你解决问题的方法,但是如果你坚决想这样做:

我能想到的与您所追求的最接近的事情是监听按键和更改,并且在没有按键的情况下发生的更改可以被视为自动完成。

例如

$(document).ready(function(){
var keyPressed = false;
$("#test").on("keydown", function(){
keyPressed = true;
});
$("#test").on("change", function(){
if(!keyPressed){
alert("Submit");
}
});
});

示例:https://jsfiddle.net/o60nf4s6/

问题:

  • 也可以通过使用右键单击上下文菜单进行粘贴来触发
  • change 事件仅在输入字段失去焦点后触发
  • 输入中的任何按键都会阻止其提交,即使我们使用了自动完成功能。仅当从浏览器选项填充整个输入时,这才有效。

关于javascript - 选择浏览器自动完成功能提交表单(不是自定义自动完成功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36242411/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com