Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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添加的表单字段don';传递数据_Javascript - Fatal编程技术网

通过javascript添加的表单字段don';传递数据

通过javascript添加的表单字段don';传递数据,javascript,Javascript,没有发现任何类似的问题,我有一个表单,只有一组字段,如果用户单击一个按钮,就会添加更多字段。我使这些字段与第一组字段相同,并对所有字段集使用name='array[]' 无论如何,当我提交表单时,使用javascript生成的字段和原始字段,只传递原始字段集中的值 这是在codeigniter中 我不能传递所有的代码,但是在pastebin中有生成的html,我将粘贴与此问题相关的php/javascript位 <tr id="add_dependents"> <td

没有发现任何类似的问题,我有一个表单,只有一组字段,如果用户单击一个按钮,就会添加更多字段。我使这些字段与第一组字段相同,并对所有字段集使用name='array[]'

无论如何,当我提交表单时,使用javascript生成的字段和原始字段,只传递原始字段集中的值

这是在codeigniter中

我不能传递所有的代码,但是在pastebin中有生成的html,我将粘贴与此问题相关的php/javascript位

<tr id="add_dependents">
    <td class="tim-dependents-table-cell">
        <?php $data = array('class' => 'tim-dependents-table-contents', 'name' => 'dependent_names[]', 'id' => 'dependent_names_1', 'value' => $dep_names[0]);
        echo form_input($data);
        ?>
    </td>

    <td>
        <?php $data = array('class' => 'tim-dependents-table-contents', 'name' => 'dependent_ssns[]', 'id' => 'dependent_ssns_1', 'value' => $dep_ssns[0]);
        echo form_input($data);
        ?>
    </td>

    <td>
        <?php $data = array('class' => 'tim-dependents-table-contents', 'type' => 'date', 'name' => 'dependent_dobs[]', 'id' => 'dependent_dobs_1', 'value' => $dep_dobs[0]);
        echo form_input($data);
        ?>
    </td>
    <td>
        <a href="#" class="red"><i class="fa fa-trash"></i></a>
    </td>
</tr>
问题就在页面上,在它到达控制器之前。提交页面的有效负载包括“永久”字段集,但不包括javascript生成字段中的任何数据


应该发生的是,通过javascript创建的字段应该与数据一起提交,就像“永久”字段集一样。

好吧,我知道了。我以某种方式嵌套了开始表单标记,一些div元素在它之前打开,在它之后关闭

换句话说,我有:

<div>

    <form action="" etc>

</div>

    </form>


我将表单标签移到页面的更高位置,如下所示:

<form action="" etc>

    <div>

    </div>

</form>


有趣的是,除了javascript字段,整个过程都在运行。我将删除PHP和codeigniter,因为这是一个直接的javascript问题,我希望一些专家能够解释

很高兴它现在起作用了,但我仍然不知道更深层次的“为什么”


感谢试图提供帮助的评论者。

表单是如何提交的?我不能肯定这是问题的原因,但元素ID必须是唯一的。您每次都使用相同的ID创建表单字段。“通过javascript创建的字段不传递数据。”您如何确认这一点?您是否正在浏览器的网络检查器中查看发布的数据?我建议按我说的做。查看立柱的有效载荷。这将告诉您这些字段是否已发布。若是,那个么这不是表单的问题,而是您在服务器上处理数据的问题。您确定添加的元素包含在表单中吗?我是说,放在。。。
<div>

    <form action="" etc>

</div>

    </form>

<form action="" etc>

    <div>

    </div>

</form>