gpt4 book ai didi

javascript - jquery post 仅在警报后有效

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

我有一次提交两个表单的功能。最后(第二个)post 方法在没有 alert() 的情况下不会生效。

你能告诉我我的错误吗。

  function formFunction() {
...
$.post($("#form1").attr("action"), $("#form1").serialize() );
$.post($("#form2").attr("action"), $("#form2").serialize() );

//alert('done');
}

更新

函数是这样调用的

<form id="form0" name="form0" onsubmit="formFunction()">
<input id="mainFormValue" type="text">

最佳答案

失败的原因是您没有取消原始表单提交。这意味着当您单击该按钮时,页面正在回发到服务器。您需要做的是阻止原始表单提交完成。

如果您使用 jQuery 添加事件处理程序,则可以使用 preventDefault() 取消表单提交。

function formFunction(e) {
e.preventDefault();
$.post($("#form1").attr("action"), $("#form1").serialize() );
$.post($("#form2").attr("action"), $("#form2").serialize() );
}

将表单提交更改为不显眼的 JavaScript,以获取由 jQuery 设置的正确事件对象。

$("#form0").submit(formFunction);

其他解决方案是在提交中添加一个return false。只需忽略我上面建议的 preventDefault 行。 [坏主意,但会奏效]

<form id="form0" name="form0" onsubmit="formFunction(); return false">

关于javascript - jquery post 仅在警报后有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13259668/

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