我可以用另一种形式获取提交按钮的名称吗?

时间:2011-04-05 17:37:25

标签: php html forms button submit

我有一个有3个提交按钮的表单。它们的名称是在循环中生成和分配的。现在如果我使用post方法,如何访问被点击的提交按钮的名称。

以下是我的代码示例:

**one.php**

    <form name="one" method="post" action="two.php">

    <?php
    while($i=1;$i<=3;$i=$+1)
    {
    ?>
    <button type="submit" name="<?php echo $i ?>" value="<?php echo $i ?>" >
    </button>
    <?php
    }
    ?>

    </form>

**two.php**

    {
    code???????
    }

可能我可以在one.php中使用onsubmit属性作为按钮标签,但我无法获得输出。有什么建议吗?

2 个答案:

答案 0 :(得分:4)

如果有一个条目包含三个按钮中每个按钮的名称,您只需登记$_POST

for ($i=1 ; $i<=3 ; $i++) {
    if (isset($_POST[$i])) {
        // here, you are on the clicked button
    }
}


请注意,我建议你给你的按钮提供更好的名字(不以数字开头) - 这意味着生成你的表格:

<?php for ($i=1 ; $i<=3 ; $i++) { ?>
<button type="submit" name="button_<?php echo $i ?>" value="<?php echo $i ?>" >
</button>
<?php } ?>

并且,在表单提交时,使用以下内容:

for ($i=1 ; $i<=3 ; $i++) {
    if (isset($_POST['button_' . $i])) {
        // here, you are on the clicked button
    }
}


顺便说一句:您的while循环语法不正确 - 您似乎混淆了whilefor; - )

答案 1 :(得分:1)

生成另一个输入元素

<input type="hidden" name="buttonId" value="<?php echo $i ?>" />

然后使用$_REQUEST['buttonId']

获取您的ID
相关问题