无法使用innerHTML发布值

时间:2014-09-18 10:44:41

标签: javascript php jquery html forms

这是我的脚本中改变我的选择值的一部分:

document.getElementById('poids').innerHTML = '<select onchange="peso();" class="form-control" required name="cat_poid"><option value="">Selectioner le poids</option><option value="-24">-24</option><option value="-29">-29</option><option value="-35">-35</option><option value="-41">-41</option><option value="+41">+41</option></select>';

Html:

<b>Poids: <div id="poids"><select class="form-control" name="cat_poid" required><option value="1">Selectioner le poids</option></select></div></b>

我的问题是我正在创建一个Form,我选择了值将会改变。 所以为了改变我使用innerHTML的值,它工作得很好。但是这些价值不会发布到下一页,表格会被提交。

调用脚本后,我的DIV内容会发生变化,并且我拥有所需的值。看起来不可能发布来自innerHTML的值。

任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

要更新select的所选项目,您必须将其selectedIndex设置为0。另外,要添加/删除项目,您必须创建DOM option元素并添加它们,或者完全更新select元素:

<div id="container">
  <select id="select" name="weight">
    <option>select the weight</option>
    ...
  </select>
</div>

在JS中操纵它:

// update with innerHTML:
document.getElementByID('container').innerHTML = '<select...>...</select>';
// or add an item with DOM model:
var option = document.createElement('option');
option.text = '35-40';
option.value = '35-40';
document.getElementByID('select').add(option);

// to select a specific option:
document.getElementByID('select').selectedIndex = 1; // selects the 2nd option

答案 1 :(得分:0)

不要完全改变div的innerHTML。只是尝试添加或删除选项。

答案 2 :(得分:0)

我可以创建一个&#34;脏解决方案&#34; ......它非常丑陋,我相信有更好的方法可以做到这一点。 由于我发布到下一页但不可能获得价值我做了类似的事情:

刚刚将其添加到我的表单中:

<input type="hidden" name="peso">

的javascript:

function peso(){
var elem = document.getElementById("peso");
var pesos = document.getElementById("cat_poid").value;
elem.value = pesos;
};

我的innerHTML:

document.getElementById('poids').innerHTML = '<select onchange="peso();" class="form-control" 
required name="cat_poid"><option value="">Selectioner le poids</option><option 
value="-24">-24</option><option value="-29">-29</option></select>';

和下一页

$poid = $_POST['peso'];

但如果我尝试获得类似$ _POST [&#39; cat_poid&#39;]的价值;我什么都没有......我甚至使用FireFox的TemperData来准确地编辑POST值,而且没有cat_poid。

奇怪,但是&#34;脏解决方案&#34;工作

谢谢大家!!!!解决了^^