JavaScript注入表单字段不会出现在POST数据中

时间:2010-01-30 22:59:20

标签: php javascript post

我有一个表单,可以通过JavaScript点击生成新的输入字段。 输入已成功添加到具有所需命名约定的FORM中。

<input type="text" name="util_name0" id="util_name0" value="" /><br/>
<input type="button" onClick="newUtil(this)" value="Add New" />

newUtil()补充道:

<input type="text" name="util_name1" id="util_name1" value="" />

但是在发帖后,print_r($_POST)仅列出“util_name0”。

通常我会粘贴一些代码,但这就是我现在真正需要做的... form在parent.php中调用的include中。 在parent.php中调用Javascript

JS:

function newUtil(el) {
    var newval = util_count++;
    $('#qty').attr('value', newval);
    $(el).before('-------------<br />
   <div class="newUtilField">
       <label for="util_type'+newval+'">Type (i.e. gas, electric...) '+newval+'</label><br />
       <input type="text" name="util_type'+newval+'" id="util_type'+newval+'" value="" /><br /><br />
       <label for="util_name'+newval+'">Company Name</label><br />
       <input type="text" name="util_name'+newval+'" id="util_name'+newval+'" value="" /><br /><br />
       <label for="util_number'+newval+'">Company Number</label><br />
       <input type="text" name="util_number'+newval+'" id="util_number'+newval+'" value="" />
   </div><br /><br />');
}

3 个答案:

答案 0 :(得分:0)

建议创建适当的对象,而不是创建这样的元素。 创建元素并逐个注入它们。

编辑:点击链接http://domscripting.com/blog/display/99

答案 1 :(得分:0)

执行添加新字段的js代码后,使用Firebug(在Firefox中)或Web Inspector(在safari和google chrome中)检查新元素。如果新字段位于form标记之外,则不会将其包含在表单提交中。

如果可以,请提供form及其字段的结构。此外,请确保该页面不包含其他错误,并且标记很平衡,所有打开的标记都已在正确的位置关闭。错位关闭标记可能会产生错误和意外行为。

答案 2 :(得分:0)

这在IE中的表现与在Firefox中的表现不同吗?在其上运行HTTP嗅探器(如Fiddler)仔细检查HTTP post标头。