gpt4 book ai didi

javascript - 单击 HTML 表单提交按钮调用一个函数。函数总是在提交表单之前完成吗?

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

我有一个 HTML 表单。表单字段值之一由 JavaScript 函数设置。单击提交按钮时将调用 JavaScript 函数。我能否确保该函数始终及时完成并在提交表单之前设置字段值?

编辑:这是根据要求的代码。

        $('#submitbutton').click(function () {
createWholeArray();
});

function createWholeArray() {

var templateString = width + " " + height + "\n";

for (var x = 0; x < width; x++) {
for (var y = 0; y < height; y++) {
if ($('#' + x + '-' + y).hasClass('selected')) {
templateString = templateString.concat("\n" + x + " " + y);
}
}
}

document.getElementById('templatestring').value = templateString;
}

最佳答案

是的,可以,submit 事件在实际提交(导致页面重新加载)完成之前被触发。您甚至可以阻止表单与脚本一起发送。请注意,只有当您希望在浏览器默认表单发送完成之前完成操作时,您才能确定。

事实上,只有当您仅在该函数中使用同步操作时才会出现这种情况。如果您使用异步函数,则必须阻止现在提交表单并从该函数的回调中提交它。

请注意在表单上使用 submit 事件,而不是在按钮上使用 click 事件(如果适用)。它将确保,当通过按 Enter 或其他方式发送表单来发送表单时,也会调用您的函数。

正如 MarkP 在评论中指出的那样,请记住,用户可能禁用了 javascript,这可能会导致您的情况出现意外结果。

关于javascript - 单击 HTML 表单提交按钮调用一个函数。函数总是在提交表单之前完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644764/

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