我在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]";

09-20 20:36