我正在使用jQuery添加表单元素。它在页面上显示正确的值,但是当我提交表单时,数据不会显示在PHP后端上。我看着Firebug的POST数据,但是我也没有看到它。我用来添加表单元素的javascript是:动态添加的表单字段未显示在发布的数据中
$("#projectArray").append("<input type='text' name='data[Project][description]' value='"+projectDescription+"' id='test' />");
有没有人跑过类似的东西?我似乎有其他帖子,但他们似乎是拼写错误,从我可以告诉,我没有在这一行中任何错别字。
编辑:根据要求,这里是表单代码。我减少了很多,因为它是一个非常大的形式。如果有人想要完整的代码,我可以粘贴它。
<form action="/learningexperiences/add" id="LearningexperienceAddForm" method="post" accept-charset="utf-8">
<div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>
<div class="input text"><tr><td><label for="LearningexperienceSubjectarea">Subject Area</label> </td><td><input name="data[Learningexperience][subjectarea]" maxlength="50" type="text" id="LearningexperienceSubjectarea"/></td></tr>
...
<tr><td>Active</td><td><div class="cbx"><input type="hidden" name="data[Learningexperience][active]" id="LearningexperienceActive_" value="0"/><input type="checkbox" name="data[Learningexperience][active]" checked="checked" value="1" id="LearningexperienceActive"/></div></td></tr>
<tr><td colspan="2" style="vertical-align:middle;"><div id="projectArray"></div></td></tr>
...
<input type="hidden" name="data[Learningexperience][id]" id="LearningexperienceId"/><tr><td colspan="2" style="vertical-align:middle;"> </td></tr>
</table>
<table id="buttonsTable">
<tr><td style="text-align:right;"><div style="margin-right:5px;"><div class="submit"><input name="cancel" type="submit" value="Cancel"/></div></div></td>
<td><div class="submit"><input type="submit" value="Save Record"/></div></form></td></tr>
</table>
编辑2:我改变了我的附加标签附加到表单元素(#LearningexperienceAddForm)。我不知道为什么,但它开始工作在那个时候。
你可以发表你的表格代码吗? – Bot 2012-04-05 15:20:09
您是否100%肯定'#projectArray'位于'
'标签内? – DaveRandom 2012-04-05 15:21:36已更新,其中包含表格代码的精简版。 #表单标签之间存在#projectArray。虽然好想。表单代码是通过CakePHP生成的,如果有任何区别的话。 – 2012-04-05 17:15:27