我对脚本和编程非常陌生,此时我需要一些帮助。
我有一个带有一些下拉框的表单,用于选择多个选项。我已经编写了一个javascript,根据下拉框中的所选选项计算总价。正确返回总值,但我很难用表单发布此值。我尝试过隐藏的输入类型,但这也不起作用。帖子转到一个php文件,最后必须在de database中插入值。
HTML
<form id="vmPrice" class="form-horizontal" method="post"
action="create_xml.php">
<div class="control-group">
<label class="control-label" for="formattedTotalPrice">Costs:</label>
<div class="controls">
<input type="hidden" name="postPrice" id="postPrice" value="">
€ <span id="formattedTotalPrice" name="formattedTotalPrice" >...</span>
/month <br/>
<span style="font-size: 10px;"> By clicking on Create VM a subscription with
the above costs will be automaticly added to your account </span>
</form>
的JavaScript
function calculateTotal()
{
var unformattedTotalPrice = getVcpuPrice() + getOsPrice() + getHddPrice() +
getMemoryPrice() + getHAPrice();
var formattedTotalPrice = unformattedTotalPrice;
document.getElementById('formattedTotalPrice').innerHTML =
formattedTotalPrice;
document.getElementById('postPrice').innerHTML = formattedTotalPrice;
}
使用span id在屏幕上正确显示formattedTotalPrice。现在我想用表单发布,但是不起作用。
PHP代码 (create_xml.php)
$price = (int)$_POST['formattedTotalPrice'];
// or
$price = (int)$_POST['postPrice'];
print $price;
此时的打印值为0.
答案 0 :(得分:2)
您正在设置innerHTML
属性。请改用value
来更改输入元素的值。
document.getElementById('postPrice').value = formattedTotalPrice;
虽然可以使用innerHTML
来更改网页的HTML内容,但是从表单发送给PHP的是value
个HTML input
元素。