【问题标题】:How do I post button value to PHP?如何将按钮值发布到 PHP?
【发布时间】:2011-07-23 05:35:09
【问题描述】:

我想在 html 页面上使用 A-Z 按钮,如下所示(仅示例和几个字)

<INPUT TYPE="BUTTON" VALUE=" A " ONCLICK="A">
<INPUT TYPE="BUTTON" VALUE=" B " ONCLICK="B">
<INPUT TYPE="BUTTON" VALUE=" C " ONCLICK="C">
<INPUT TYPE="BUTTON" VALUE=" D " ONCLICK="D">
<INPUT TYPE="BUTTON" VALUE=" E " ONCLICK="E">
<INPUT TYPE="BUTTON" VALUE=" F " ONCLICK="F">
<INPUT TYPE="BUTTON" VALUE=" G " ONCLICK="G">
<INPUT TYPE="BUTTON" VALUE=" H " ONCLICK="H">
<INPUT TYPE="BUTTON" VALUE=" I " ONCLICK="I">
<INPUT TYPE="BUTTON" VALUE=" J " ONCLICK="J">

当我点击每个按钮时,我想将按钮上的相应值发布到 PHP 变量中。

我该怎么做?

【问题讨论】:

  • ONCLICK= 用于 Javascript。没有必要再次列出那里的值。
  • 您确实需要将所有这些标签属性都小写。 input 而不是 INPUT

标签: php javascript html forms


【解决方案1】:

使用输入标签将在页面上留下标记。尝试按钮标签将显示按钮,也可以发送值。

<button type="submit" value="the value you want" >Update</button>

【讨论】:

    【解决方案2】:
        $restore = $this->createElement('submit', 'restore', array(
            'label' => 'FILE_RESTORE',
            'class' => 'restore btn btn-small btn-primary',
            'attribs' => array(
                'onClick' => 'restoreCheck();return false;'
            )
        ));
    

    【讨论】:

    • 欢迎来到 SO。最好在答案中解释代码。
    【解决方案3】:

    正如 Josh 上面所说,您希望为每个人指定相同的名称(字母、按钮等)并且它们都可以工作。然后你想用一个表单标签包围所有这些:

    <form name="myLetters" action="yourScript.php" method="POST">
    <!-- Enter your values here with the following syntax: -->
    <input type="radio" name="letter" value="A" /> A
    <!-- Then add a submit value & close your form -->
    <input type="submit" name="submit" value="Choose Letter!" />
    </form>
    

    然后,在action属性定义的PHP脚本“yourScript.php”中,你可以使用:

    $_POST['letter']
    

    获取选择的值。

    【讨论】:

    • 只会添加没有
      标签的 POST 不起作用。
    【解决方案4】:

    给他们一个相同的名字

    例如

    <input type="button" value="a" name="btn" onclick="a" />
    <input type="button" value="b" name="btn" onclick="b" />
    

    然后在你的php中使用:

    $val = $_POST['btn']
    

    编辑,正如 BalusC 所说;如果您不打算使用 onclick 来执行任何 javascript(例如,发送表单),请摆脱它并使用 type="submit"

    【讨论】:

      【解决方案5】:

      请记住,您在服务器端的 POST 中获得的是一个键值对。你有价值观,但你的钥匙在哪里?在这种情况下,您需要设置按钮的 name 属性,以便有一个可以访问该值的键。

      此外,按照惯例,您需要将这些inputs(按钮)中的type 更改为submit,以便它们正确地将它们的值发布到表单中。

      另外,你的onclick在做什么?

      【讨论】:

        【解决方案6】:

        type 更改为submit 并给它一个name(并删除无用的onclick 并平整90 年代风格的大写标签/属性)。

        <input type="submit" name="foo" value="A" />
        <input type="submit" name="foo" value="B" />
        ...
        

        $_POST['foo'] 将提供该值(如果父 &lt;form&gt; 具有 method="post")。

        【讨论】:

        • 但它的类型是“按钮”而不是“提交”?我确实尝试过输入按钮和 $_POST 但不起作用
        • @baTimá:然后使用type="submit",完全按照答案中的说明。
        • 但是在我的 FORM 中我已经有一个提交按钮,所以我不能有 2 个提交
        • @baTimá:这毫无意义。您可以在一个表单中完美地拥有多个提交按钮。
        • @baTimá:嗯,你当然可以继续使用 PHP 和 ajax。这个问题毫无意义,我建议花更多时间学习基本的 Web 开发概念。如果您有具体问题,请按
        猜你喜欢
        • 2014-03-12
        • 2014-08-05
        • 1970-01-01
        • 2013-12-16
        • 2021-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多