gpt4 book ai didi

javascript - 失去焦点时提交表单

转载 作者:行者123 更新时间:2023-11-30 11:07:54 25 4
gpt4 key购买 nike

我必须构建一个包含大量字段(可能超过 1000 个字段)的表单。因为 recommended GET URL length limit我想将其拆分为几个较小的表单(每个表单有 12 个字段),在完成后提交。

基本上我正在寻找的是某种 form.onBlur 事件:我只想在以下情况下提交表单:

  • 其中一个输入失去焦点(模糊)
  • 此表单的其他输入都没有焦点

关于处理这个问题的好方法有什么想法吗?也许我需要让每个 input.onBlur 事件检查表单其他输入的当前焦点状态?

编辑:我很清楚 GET 与 POST 的区别,包括安全问题和数据量。对于我的特定设置的特定问题,GET 请求是唯一的选择;因此这个问题。

最佳答案

鉴于每个 form_element 都可以由一个类来标识,您可以用它来做一些有风格的事情

$(".form_element").on("focusout", function(){
let do_query = true;
setTimeout(function(){
$(".form_element:input").each(function(){
if($(this).is(":focus")){
do_query = false;
return false; //Exit the each loop
}
});

if(do_query){
console.log("I'm going to perform the query");
}

}, 200);
});

我发现如果没有设置超时,它总是会触发 false,因为新元素没有时间获得它的焦点。

参见 jsfiddle这里有工作示例

关于javascript - 失去焦点时提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54944595/

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