Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery添加的表单元素不会在邮寄时发送_Javascript_Jquery_Forms_Zend Form - Fatal编程技术网

Javascript 使用jQuery添加的表单元素不会在邮寄时发送

Javascript 使用jQuery添加的表单元素不会在邮寄时发送,javascript,jquery,forms,zend-form,Javascript,Jquery,Forms,Zend Form,我有一个zend_表单,允许用户动态添加表单元素。 使用jQuery动态添加元素:类似于 $(function(){ $('#more_answers').click(function(){ var elemNum = $('.dummy-element').size(); $("<dd class='dummy-element' id='dummyanswer_"+elemNum+"-element'><input type='text' value='

我有一个zend_表单,允许用户动态添加表单元素。 使用jQuery动态添加元素:类似于

$(function(){
  $('#more_answers').click(function(){
    var elemNum = $('.dummy-element').size();

    $("<dd class='dummy-element' id='dummyanswer_"+elemNum+"-element'><input type='text' value='' id='dummyanswer_"+elemNum+"' name='dummyanswer_"+elemNum+"'></dd>").insertBefore('#more_answers-element');

    return false;
  });
});
$(函数(){
$(“#更多答案”)。单击(函数(){
var elemNum=$('.dummy元素').size();
$(“”).insertBefore('more#u-element');
返回false;
});
});
元素已正确添加到标记中。 提交时,添加的元素未提交。 我在firebug中的Net视图中签入了,实际上根本没有传递该变量

问题可能是什么? 这和zend_的形式有什么特别的关系吗?我曾经使用原始JavaScript在Zend_表单中添加过元素,效果很好

有什么想法吗

谢谢,我真的很感激

按要求为表单元素添加更多标记:

<dd class="dummy-element" id="dummyanswer_2-element">
  <input type="text" value="" id="dummyanswer_2" name="dummyanswer_2">
</dd> <!-- this element was NOT added using jquery -->
<dd id="dummyanswer_3-element" class="dummy-element">
  <input type="text" name="dummyanswer_3" id="dummyanswer_3" value="">
</dd> <!-- this element was added using jquery -->
<dd id="more_answers-element">
  <input width="170px" height="30px" type="image" style="" class="addDummyAnswer" src="/images/add_more_dummy_answers_button_370X60px.png" id="more_answers" name="more_answers">
</dd>


我曾经遇到过类似的问题。如果表单位于表内,则添加的元素(输入)将是表单元格的子元素,而不是表单的子元素,并且不会作为表单字段之一“链接”到表单,即使表标记位于表单标记内

如果您直接将输入字段作为表单DOM节点的子节点添加,那么它将作为表单的一个字段“链接”到表单,并且应该正常提交

最大的问题是,当添加的输入元素作为非表单节点的子元素动态添加到DOM中时,是否可以通过某种方式将其“链接”到表单?我一直没能找到解决办法


我在处理Firefox扩展时遇到了这个问题,所以在Firefox上观察到了这种行为。不确定其他浏览器如何处理这种情况。也许你正在经历类似的事情

Ok solved-我在firefox中查看源代码,结果确实正确呈现。 然而,我在WebDeveloper中打开了同样的东西,表单标签被隐藏了。 它看起来像这样:

             <dl class = "zend_form">
                    <!---- all the elements -->
             </dl>
          <table>
               <form....></form> <!-- everything hidden -->   
         </table>

我删除了表格标签,它的格式很好。 在本例中,我认为这是因为我在表标记中没有,所以
在表外呈现,而表单在表内呈现。
然而,这仍然回避了一个问题——为什么它在“查看源代码”中正确显示?

我是在搜索StackOverflow以查找类似案例时发现的,该案例可能是很久以前编写的。所以问题可能是因为格式错误的HTML,有人把标签放在标签中,我无法动态添加DOM元素。一旦我把它倒过来,它似乎工作得很好。你能把
\more\u answers-element
和周围元素的标记贴出来吗?是的,我正在把它添加到邮件中。你确定你要添加
元素的地方真的在
标签里面吗?是的。至少这是我在firefoxHi中查看源代码时看到的,因为它是一个zend表单,默认情况下,所有内容都在字段集中,表单中也有,但没有任何表。不知何故,不识别表单标记中的元素似乎不合逻辑。我认为问题与表无关,而是与表单本身和添加的输入字段之间存在节点这一事实有关。至少在我的例子中是这样。在我的例子中,问题是我在一个没有tr/td标记的表中呈现表单,“如果表单在一个表中,…”我完全忘记了这一点。。。我在这上面浪费了30分钟,谢谢+1(与Zend无关)2美分的逻辑是什么?