gpt4 book ai didi

javascript动态提交时更改表单

转载 作者:数据小太阳 更新时间:2023-10-29 05:13:17 25 4
gpt4 key购买 nike

我有一个带有一些 Action 和 onsubmit 值的表单,它是通过提交输入标签提交的。问题是它应该可以通过两个按钮提交,所以我为第二个按钮编写了一个函数来更改表单的 action 和 onsubmit 值:

<a href="javascript:submitCompare()" class="submit">Compare</a>

function submitCompare()
{
document.myForm.action = "anotherAction.php";
document.myForm.onsubmit = function() {return countChecked()};
document.myForm.submit();
}

function countChecked()
{
var n = $(".reports input:checked").length;
if (n >= 3 ) {
alert ('You must select less than 3 reports.');
return false;
}
else return true;
}

单击“比较”链接后,它会正确地将我发送到 anotherAction.php 页面,但即使我选中了 2 个以上的复选框(这是验证规则)也是如此。有人可以帮助我使 onsubmit 函数正常工作吗?

最佳答案

document.myForm.onsubmit = function() {return countChecked()};

应该是

document.myForm.onsubmit = function( e ) {
e = e || window.event;
if ( !countChecked() ) {
e.preventDefault();
e.returnValue = false;
}
};

在提交时返回 false 只会结束任何进一步的函数执行。如果您不想提交,您希望阻止默认提交行为。

关于javascript动态提交时更改表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11368000/

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