如何根据单击的不同按钮获得不同的$ _POST值

时间:2014-01-20 17:51:57

标签: javascript php

我有以下php:

if (!empty($text_arr)) {
    echo "<ul>";
    foreach ($text_arr as $key => $twt) {
        echo "<li>";
        echo '<form action="'. $_SERVER['REQUEST_URI'] .'" method="POST">';
        echo $twt['text'];
        echo ' <input type="submit" value="Publish" />';
        echo ' <input type="hidden" name="id_str" value="'. $twt['id_str'] .'" />';
        echo "</form>";
        echo "</li>";
    }
    echo "</ul>";
}
print_r($_POST);

正如您所见,我提交了发布帖子的按钮。有许多条目,每个条目都是一个表单。这样我在$ _POST中得到了正确的id_str。

我不喜欢每个选项都有多个表单的事实。有更清洁的方法吗?并且只有1个表格?我不想使用ajax或js。

P.S。我有宿醉,有可能我看不到明显的东西。或者只是提出愚蠢的问题。请耐心等待。希望我的帖子至少没什么意义。

感谢nandhp,我提出了解决方案:

if (!empty($text_arr)) {
    echo "<ul>";
    echo '<form action="'. $_SERVER['REQUEST_URI'] .'" method="POST">';
    foreach ($text_arr as $key => $twt) {
        echo "<li>";
            echo $twt['text'];
            echo ' <button type="submit" name="id_str" value="'. $twt['id_str'] .'" >Publish</button>';
        echo "</li>";
    }
    echo "</form>";
    echo "</ul>";
}

1 个答案:

答案 0 :(得分:0)

如果您不需要$_POST['id_str'],则可以在每个提交按钮上设置唯一的name属性:

<input type=submit name=submit0001 value="Publish">

然后,您可以通过查看$_POST['submit0001']$_POST['submit0002']等来确定按下了哪个按钮,以查看哪个按钮已被点击。