2012-09-22 31 views
0

我已阅读this question的答案,只需点击一下按钮即可执行PHP脚本。但是,如果我有一个“嵌套按钮”,像这样:第二个启动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的解决,但我不知道。

任何人都请。

<form method="POST" action="myscript.php"> 

当点击input type="submit"浏览器会去到形式的行动周围的input type="submit"

嵌套是:

回答

0

要你用你的表单的action属性在服务器上执行一个脚本不是问题,因为浏览器总是会寻找“周围”表格

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;

附:如果表单动作属性是默认的,默认情况下它将表单提交到相同的php脚本

0

就像@DTukans在这里所说的,你需要隐藏的字段。如果您要发布第二个表单,如果您没有隐藏字段的值为第一个表单的行为,则行为的值将会丢失。

在PHP中,你也可以检查你提交了提交按钮通过给input[type="submit"]一个名称,如<input type="submit" name="form2">,那么你可以检查,如果你提交的形式是: if (isset($_POST['form2'])) {},但这里不是这种情况。

使用隐藏的输入,你会很好去。

相关问题