在PHP中获取禁用文本框的值

时间:2014-09-02 22:02:17

标签: javascript php jquery html

我从用户那里得到两个数字,然后在禁用的文本框中显示它们的总和。我也将输入存储在我的数据库中。

一切正常。我可以将number1和number2传递给我的数据库但是我无法将sum传递给db。我花了太多时间自己解决这个问题,但没有运气。

请您查看我的代码,让我知道我在这里缺少什么?我想要的是将总和存储到我的数据库中。

所以这是我的表格:

    <p>Enter number1:</p>
    <input id="number1" name="number1"/>

    <p>Enter number2:</p>
    <input id="number2" name="number2"/>

    <p>Sum</p>
    <input id="sum" name="sum" disabled="disabled"/>

这是我的剧本:

    var sum = (number1 + number2);
    $('#sum').val(sum);

这是我的PHP代码:

    <?php
    ..connection info here..
    $number1 = $_POST['number1']; 
    $number2 = $_POST['number2']; 
    $sum = $_POST['sum']; 
    $stmt = $mysqli->prepare("INSERT INTO mytable VALUES( '$number1', '$number2', '$sum')");
    if($stmt)
    echo "Done.";
    else
    echo "Error.";

    $stmt->execute();
    $stmt->close();
    $mysqli->close();
    ?>

3 个答案:

答案 0 :(得分:12)

表单提交中不包含已禁用的输入。这就是禁用它们的重点。

您可能希望改为使用readonly

答案 1 :(得分:5)

<input id="sum" name="sum" readonly="readonly"/>

因此,它将被包含在提交中,并且不允许任何人编辑该值。

答案 2 :(得分:1)

请参考以下信息:

https://stackoverflow.com/a/3757816/6113439

因为您在插入属性method='post'时无法获得任何表单控件值[disabled='disabled']。

您可以使用readonly='readonly'代替disabled='disabled'