gpt4 book ai didi

php - 为什么表单不阻止提交?

转载 作者:行者123 更新时间:2023-11-28 21:10:23 24 4
gpt4 key购买 nike

我有一个基本表单,我用它作为虚拟表单来测试一些 JavaScript 功能。我的目标是单击提交按钮并暂停提交,直到执行 JavaScript 函数,然后再提交表单。我当前的代码如下,但不会阻止表单的提交,并且隐藏字段的值永远不会设置。有人可以解释为什么会发生这种情况吗?

注意我知道执行相同功能的 jQuery 方法。我专门尝试在不使用 jQuery 的情况下解决这个问题。如果您唯一的答案是“jQuery 更好”,请不要打扰。

<html>
<head>
<script type="text/javascript">
function test(){
document.getElementById("hidden").value="hidden";

var queryString = $('#decisionform').formSerialize();
alert(queryString);

document.getElementById("form").submit();
}
</script>
</head>

<body>

<?php
if ($_POST){
foreach ($_POST as $key=>$value){
echo "<b>$key</b> $value<br>";
}
}
?>

<form action="hello.php" method="post" id="form">
<input name="first" type="text" />
<input name="second" type="text" />
<input name="third" type="text" />
<input name="hidden" type="hidden" />
<input name="submit" type="submit" value="Submit" onclick="test();return false;" />
</form>

</body>
</html>

最佳答案

您没有 id hidden 的元素,因此 document.getElementById("hidden").value="hidden"; 将在您执行操作时抛出错误无法设置未定义的属性。脚本将停止运行并且永远不会达到return false,因此表单将正常提交。

关于php - 为什么表单不阻止提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8854186/

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