在codeigniter中将javascript变量传递到隐藏形式

在codeigniter中将javascript变量传递到隐藏形式,javascript,codeigniter,hidden,Javascript,Codeigniter,Hidden,我在Codeigniter中有一个页面,可以设置客户想要购买的产品数量(平方米)。当客户机设置数量时,我必须进行一些计算(关于之前设置的数量),我使用Javascript设置一些变量。现在我想在同一个(php)页面中显示这些变量,并且它正在工作,但是我不知道应该做什么来将这些变量放入隐藏输入的值中,以便将它们发送到控制器。以下是编码: <input type="text" name="productQuantity"> <input type="button" class="

我在Codeigniter中有一个页面,可以设置客户想要购买的产品数量(平方米)。当客户机设置数量时,我必须进行一些计算(关于之前设置的数量),我使用Javascript设置一些变量。现在我想在同一个(php)页面中显示这些变量,并且它正在工作,但是我不知道应该做什么来将这些变量放入隐藏输入的值中,以便将它们发送到控制器。以下是编码:

<input type="text"  name="productQuantity">
<input type="button" class="button" onclick="return showHide();" value="Calculate Packs">

<script type="text/javascript" language="javascript">// <![CDATA[
    function showHide() {
        var ele = document.getElementById("showHideDiv");
        if(ele.style.display == "block") {
            ele.style.display = "none";
        }
        else {
<?php $pack = explode(' ', $pro->productPackSize); ?>
                ele.style.display = "block";

                var val = document.getElementById('productQuantity').value;
                document.getElementById('val').innerHTML = val;
                var req = Math.round(val/<?php echo $pack[0]; ?>);
                document.getElementById('req').innerHTML = req;
                var total = req * <?php echo $pack[0]; ?>;
                document.getElementById('total').innerHTML = total;

            }
        }
        // ]]></script>

<div id="showHideDiv" style="display:none;"> 
    <?php echo form_open('main/add_to_cart_validation/' . $pro->productId); ?>
    To cover <strong id="val"></strong> sq.m,  you will need <strong id="req"></strong> Packs 
    which is <strong id="total"></strong> sq.m in total</a> //the ids' here are working, i can show them in the page

<input type="hidden" id="" value="" name="productPacks"> //how can i get the 'reg' variable here?
<input type="hidden" id="" value="" name="productQuantity"> //the same here as above for 'total' variable
<input type="submit" class="button" value="Add to Cart">
</form>
</div>  

//产品包装尺寸);?>
ele.style.display=“块”;
var val=document.getElementById('productQuantity')。值;
document.getElementById('val')。innerHTML=val;
var req=数学四舍五入(val/);
document.getElementById('req')。innerHTML=req;
var总计=需求*;
document.getElementById('total')。innerHTML=total;
}
}
// ]]>
要覆盖平方米,您需要包
总面积为平方米//此处的id正在工作,我可以在页面中显示它们
//如何在此处获取'reg'变量?
//此处与上述“总计”变量相同

感谢您的回答

首先给您的输入一个id,然后您可以像这样传递值:

 document.getElementById('myField').value = total;

这很简单,你也是这么做的

var MyHiddenValue = document.getElementById('myHiddenField').value;

alert(MyHiddenValue);

在计算后,在else条件下添加以下行:

document.getElementById("productPacks").value    = val;
document.getElementById("productQuantity").value = total;

再次感谢您的回答,它是nw工作,但我有另一个问题,例如,当var‘total’为‘10.4’时,我的隐藏是:它存储在隐藏输入中为‘104’,也许有人知道我应该做什么来解决这个问题?接受答案,它为您工作,对于另一个查询,请参见此链接Write
document.getElementById(“productQuantity”)。value=新字符串(总计)
而不是
document.getElementById(“productQuantity”)。value=total。希望有帮助。可能是重复的