我有一个表格,他们可以添加任意数量的附属物。另外我有一个JavaScript函数:
function CreateField()
{
var div = document.createElement("div");
div.innerHTML = '<textarea name="attachement_1"></textarea>';
var span = document.getElementById('media_template_attachment');
span.parentNode.insertBefore(div, span);
alert(span.parentNode.innerHTML);
}
我在这篇文章中激励了我:Dynamically generated form field loses value when new field is added
在我的HTML文件中,我有一个表单:
<form name="modify_post_form" action="?save=modify_post" method="post">
<a href="javascript:CreateField();">Add</a>
<td><span id="media_template_attachment" />
<input type="submit" value="Save" />
</td>
当我添加一个项目(javascript:add)时,我会在浏览器窗口中看到它。 警报提供以下内容:
当我点击“保存”,并用PHP检查POST数据时,我得到以下结果:
Array
(
[area_id] => 6
[subject] => Mail
[description] => test test
[id] => 486
)
也就是说,添加的项目虽然可能出现在浏览器窗口中,但可以作为HTML代码使用,但不会与POST数据一起发送。为什么?我不明白。有人可能有想法吗?