我已阅读this question的答案,只需点击一下按钮即可执行PHP脚本。但是,如果我有一个“嵌套按钮”,如下所示:
<?php
if(!empty($_POST['act'])) {
echo "Ready to rock!";
$someVar = "Rock n Roll";
if(!empty($_POST['act2'])) {
echo $someVar;
} else {
?>
<form method="POST" action="">
<input type="hidden" name="act2" value="run">
<input type="submit" value="Rock It!">
</form>
<?php
}
} else {
?>
<form method="POST" action="">
<input type="hidden" name="act" value="run">
<input type="submit" value="Show It!">
</form>
<?php } ?>
我听说我的问题可以通过jQuery解决,但我不知道。
任何人都请。答案 0 :(得分:0)
要在服务器上执行脚本,请使用表单的action属性:
<form method="POST" action="myscript.php">
点击input type="submit"
时,浏览器会转到input type="submit"
嵌套不是问题,因为浏览器总是会查找'周围'表单。
答案 1 :(得分:0)
问题是第二种形式,所以它永远不会在这段代码中调用,因为它在第一个$ _POST变量IF语句中失败,因为在第二种形式中你没有POST变量“act”。所以你需要添加它
<form method="POST" action="">
<input type="hidden" name="act" value="run">
<input type="hidden" name="act2" value="run">
<input type="submit" value="Rock It!">
</form>
使用此表单,您应该看到echo $someVar;
P.S。如果表单操作属性是emtpy,默认情况下它将表单提交到相同的php脚本
答案 2 :(得分:0)
就像@DTukans在这里所说,你需要隐藏的领域。如果您要发布第二个表单,如果您没有隐藏字段,并且第一个表单中包含act值,则act的值将会丢失。
在php中,您还可以通过为input[type="submit"]
提供<input type="submit" name="form2">
来查看您提交的提交按钮,然后您可以检查是否通过以下方式提交了该表单:
if (isset($_POST['form2'])) {}
,但这不是这种情况。
使用隐藏的输入,你会很高兴。