我在javascript中制作了一个对象,该对象追加了一个包含5个元素的表格。但是,当我提交表单时,添加的字段不会显示。
var whenCellOne = firstRow.insertCell(1);
this.often = document.createElement("select");
this.often.name = "['"+me.id+"']['often']";
this.often.appendChild(this.createOption("Vecka", "0"));
this.often.appendChild(this.createOption("Månad", "1"));
this.often.onchange = function(){ me.update(); };
whenCellOne.appendChild(this.often);
这就是我创建元素之一的方式,我希望它会以
$_POST['1a']['often'] = "0"
的形式出现,但是var_dump看起来像这样的array(1) { ["submit"]=> string(2) "ok" }
怎么了?以及如何解决?这是完整的javascript代码http://pastebin.com/Jai3gChv,这是测试页http://pastebin.com/F3rgBumh
最佳答案
PHP不会使用名称为$_POST
形式的字段中的数据填充[something]
。您需要更改名称。
如果要$_POST['1a']['often']
具有值,则需要name="1a[often]"
。
假设me.id
的值为1a
,当前您将其设置为name="['1a']['often']"
this.often.name = "['"+me.id+"']['often']";
应该
this.often.name = me.id + "[often]";