Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 提交动态生成的表单_Javascript_Jquery_Html - Fatal编程技术网

Javascript 提交动态生成的表单

Javascript 提交动态生成的表单,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个网站,我有一个由Django创建的表单。加载页面后,用户可以通过单击按钮向表单添加文本输入。问题是,当单击submit按钮时,只有Django最初创建的文本输入被提交。换句话说,动态添加的额外文本输入不会被提交 我猜这是因为submit按钮只“感知”页面加载时出现的表单元素,而不是动态加载的元素。考虑到这一点,我猜我需要使用某种Javascript来提交所有表单元素,包括动态添加的元素,但我不知道如何做到这一点 我已经尝试了jQuerysubmit函数,但我真的不知道该如何使用它。

我正在创建一个网站,我有一个由Django创建的表单。加载页面后,用户可以通过单击按钮向表单添加文本输入。问题是,当单击submit按钮时,只有Django最初创建的文本输入被提交。换句话说,动态添加的额外文本输入不会被提交

我猜这是因为submit按钮只“感知”页面加载时出现的表单元素,而不是动态加载的元素。考虑到这一点,我猜我需要使用某种Javascript来提交所有表单元素,包括动态添加的元素,但我不知道如何做到这一点

我已经尝试了jQuery
submit
函数,但我真的不知道该如何使用它。任何提示都将不胜感激

编辑:这里有一个代码片段,它显示了在向“源”动态添加两个以上文本输入后HTML的外观


来源:
//页面加载时显示
+//用户单击此按钮可将更多文本输入附加到表单中
//动态添加
//动态添加
笔记:

好的,我解决了这个问题。我有一个表格,它安排了表格的所有文本输入,表格也包含了表格本身。事实证明,通过将其反转,并将表封装在表单中,所有动态生成的输入都会成功发布。再次感谢那些在上述评论中提供意见的人——获得其他意见和观点总是很有帮助的


所以我的问题是(我知道你不应该在回答中提问,但万一有人想回答…):我怎么会知道这个?如果您使用的是编译语言,编译器可能会为您捕捉到这一点。这就是你凭经验掌握的窍门吗?有没有什么书可以帮助我处理像这样的基本问题?我发现web开发非常乏味和令人沮丧,因为我经常因为这样的小错误而挂断很长一段时间,我假设它不一定是这样;我只是不太知道如何改进。

您是否检查过动态添加的输入元素是否添加到您提交的表单中,而不是其他元素?@Arkantos我是个新手--我该怎么做?@ArturFilipiak。。这与事件委派有何关系:)?我认为这不是绑定事件处理程序,而是提交修改后的form@BrianSnow新的太nee工作示例,用于建议。您可以使用
$('form')提交forn。使用AJAX右键单击表单序列化()。。检查元素并查看动态添加的文本输入是否在您发布的
表单中。。
<table>
    <form class="dataInput" action="/foner/116" method="post">
    <input type='hidden' name='csrfmiddlewaretoken' value='YYuqTzXUVosu1s2HD3zS00DpoPwQ7N0k' />
    <tbody class="origin">
        <tr>
            <th>
                <label>Origin:</label>
            </th>
            <td>
                <input id="id_Origin-0" maxlength="200" name="Origin-0" type="text" value="A native of Georgia" /> // PRESENT AT PAGE LOAD
            </td>
            <td>
                <button class="adder origin">+</button> // USER CLICKS THIS TO APPEND MORE TEXT INPUTS TO THE FORM
            </td>
        </tr>
        <tr>
            <th>
            </th>
            <td>
                <input type="text" value="" maxlength="200" name="origin[]"></input> // DYNAMICALLY ADDED
            </td>
        </tr>
        <tr>
            <th>
            </th>
            <td>
                <input type="text" value="" maxlength="200" name="origin[]"></input> // DYNAMICALLY ADDED
            </td>
        </tr>
    </tbody>
    <tr>
        <th>
            <label>Notes:</label>
        </th>
        <td>
            <input class="submitButton" type="submit" value="S" />
        </td>
    </tr>
    </form>
</table>