动态地将输入添加到 HTML 表单 [关闭]

Posted

技术标签:

【中文标题】动态地将输入添加到 HTML 表单 [关闭]【英文标题】:Dynamically add an input to an HTML form [closed] 【发布时间】:2011-09-12 21:15:56 【问题描述】:

如果我们点击“添加”链接,一个新的输入应该被添加到表单中。

此外,每个添加的输入附近都应该有“删除”链接。如果我们点击它,这个输入应该被删除。

我该怎么做?

【问题讨论】:

到目前为止你有什么尝试? 【参考方案1】:

我正在努力是否投票决定是否将其作为重复项关闭,即使它不是准确。但是您要查找的内容似乎已得到答复here。主要区别在于它们绑定到change 事件的select 元素:

$("#selectBox").change(function() 

您将改为绑定到锚元素的 click 事件(您的“添加”链接):

$("#addLink").click(function() 

“删除”链接将以类似的方式工作。由于为新输入创建了 html,您还需要在将其添加到 DOM 之前创建旁边的“删除”链接(在引用的代码中调用 .html() 函数)。您需要确保为添加的 HTML 提供唯一的 id(例如,包裹在具有唯一 iddiv 中)以及添加的“删除”链接。

然后,在它被添加到 DOM 之后,您需要向“删除”链接添加一个事件处理程序:

$("#deleteLink123").click(function() 

在此处理程序中,您将引用添加到 DOM 的容器的唯一 id 和 remove it。我确信通过使用.live() 函数here 和一些更聪明的selectors 可以更优雅地处理这个问题。重新考虑这样的事情,同时尽量不要太聪明以免损害持续的支持会很有趣。

在开发此功能时,您需要牢记一些其他注意事项:

    默认情况下,锚标记是链接,但您似乎不希望它们链接到任何东西。您可以将它们链接到“#”,但这并不是很优雅。您可以从它们中完全删除 href 属性,但是您还需要设置它们的样式,使其在视觉上表现得像链接。不难,但也不直观。为什么不是按钮? 由服务器处理时实际表单的行为取决于您。您可以动态地将元素添加到 DOM 中,以满足您的需求,但这在服务器端可能对您没有帮助。不过,这完全是另一个问题。

【讨论】:

您赢得了当天的答题质量比奖。 @Bill the Lizard:这与梦寐以求的 Reversal 徽章相去甚远,但我会接受它 :) 仅剩 12 个! (哎呀,它现在已经退役了)

以上是关于动态地将输入添加到 HTML 表单 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

当我单击添加行按钮时,如何在 html 中动态地将行添加到表单中?

如何动态地将 id 传递给 Bootstrap 验证器规则的 url:远程用于相同的表单输入字段?

如何动态地将css类添加到输入中

extjs 动态地将项目添加到表单面板中

Django从html页面访问动态表单值到视图[关闭]

如何动态地将文本字段值添加到数组中?