启动php脚本的第二个按钮,怎么样?

时间:2012-09-22 11:24:15

标签: php jquery

我已阅读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解决,但我不知道。

任何人都请。

3 个答案:

答案 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'])) {},但这不是这种情况。

使用隐藏的输入,你会很高兴。