使用表单将变量从JavaScript发布到PHP

时间:2017-12-25 15:02:05

标签: javascript php html forms

我对脚本和编程非常陌生,此时我需要一些帮助。

我有一个带有一些下拉框的表单,用于选择多个选项。我已经编写了一个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="">
&euro; <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.

1 个答案:

答案 0 :(得分:2)

您正在设置innerHTML属性。请改用value来更改输入元素的值。

document.getElementById('postPrice').value = formattedTotalPrice;

虽然可以使用innerHTML来更改网页的HTML内容,但是从表单发送给PHP的是value个HTML input元素。