gpt4 book ai didi

javascript - 如何确保在 POST 之前完成对表单 DOM 的更改?

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

目前,我的 JavaScript 代码中存在竞争条件。我尝试使用此代码执行的操作是将属于“复选框”类一部分且未 checkin 值为零的文本框的所有复选框。目前,当您发布未选中的复选框时,它不会出现在 $_POST 数据中。但是,我需要知道这些特定复选框集的所有值,无论是 true 还是 false。

我的代码在这里:代码:

function checkboxConvert() {

var chkBxs = $$('.checkbox');
for (var i = 0; i < chkBxs.length; i++) {
if (chkBxs[i].checked == false) {
chkBxs[i].type = 'textbox';
chkBxs[i].value = '0';
}
}

setTimeout("document.productForm.submit();",1000);
}

现在我遇到的问题是,当我尝试提交此表单时,最近更改的文本框的值不会出现在 $_POST 数据中。因此,正如您在上面看到的,我将页面提交推迟了 1 秒,然后我就获得了所有可用的数据。然而,随着时间的推移,我的数据集变得越来越大,1 秒可能已经不够了。我认为这是一个竞争条件,只有在所有复选框都已转换并且它们具有新值之后,我才需要找出某种运行代码的方法。我本以为这从一开始就是不必要的,但由于某种原因,它试图同时运行两个部分,并且在我拥有正确的值之前我无法提交。

非常感谢任何帮助!

最佳答案

这绝对不是做web的方式。我强烈建议您放弃 checkboxConvert 函数,并在服务器端解决此问题

关于javascript - 如何确保在 POST 之前完成对表单 DOM 的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1743009/

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