我从用户那里得到两个数字,然后在禁用的文本框中显示它们的总和。我也将输入存储在我的数据库中。
一切正常。我可以将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();
?>
答案 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'