保存动态生成的输入字段(Save dynamically generated input fields)

编程入门 行业动态 更新时间:2024-10-07 12:17:16
保存动态生成的输入字段(Save dynamically generated input fields)

我正在使用此代码动态生成更多输入字段,然后使用“保存”按钮计划将其值保存在数据库中。 挑战是在“保存”按钮上,我想继续显示“用户生成的输入”字段。 但是,单击“保存”按钮会刷新它们。

JavaScript的:

<script type="text/javascript"> var rowNum = 0; function addRow(frm) { rowNum++; var row = '<p id="rowNum' + rowNum + '">Item quantity: <input type="text" name="qty[]" size="4" value="' + frm.add_qty.value + '"> Item name: <input type="text" name="name[]" value="' + frm.add_name.value + '"> <input type="button" value="Remove" onclick="removeRow(' + rowNum + ');"></p>'; jQuery('#itemRows').append(row); frm.add_qty.value = ''; frm.add_name.value = ''; } function removeRow(rnum) { jQuery('#rowNum' + rnum).remove(); } </script>

HTML:

<form method="post"> <div id="itemRows">Item quantity: <input type="text" name="add_qty" size="4" />Item name: <input type="text" name="add_name" /> <input onclick="addRow(this.form);" type="button" value="Add row" /> </div> <p> <button id="_save">Save by grabbing html</button> <br> </p> </form>

I am using this code to generate dynamically ADD More input fields and then plan on using Save button to save their values in database. The challenge is that on Save button, I want to keep displaying the User Generated Input fields. However they are being refreshed on Save button clicked.

javascript:

<script type="text/javascript"> var rowNum = 0; function addRow(frm) { rowNum++; var row = '<p id="rowNum' + rowNum + '">Item quantity: <input type="text" name="qty[]" size="4" value="' + frm.add_qty.value + '"> Item name: <input type="text" name="name[]" value="' + frm.add_name.value + '"> <input type="button" value="Remove" onclick="removeRow(' + rowNum + ');"></p>'; jQuery('#itemRows').append(row); frm.add_qty.value = ''; frm.add_name.value = ''; } function removeRow(rnum) { jQuery('#rowNum' + rnum).remove(); } </script>

HTML:

<form method="post"> <div id="itemRows">Item quantity: <input type="text" name="add_qty" size="4" />Item name: <input type="text" name="add_name" /> <input onclick="addRow(this.form);" type="button" value="Add row" /> </div> <p> <button id="_save">Save by grabbing html</button> <br> </p> </form>

最满意答案

一种方法是定义一个模板,通过jQuery动态添加它

模板


<script type="text/html" id="form_tpl"> <div class = "control-group" > <label class = "control-label"for = 'emp_name' > Employer Name </label> <div class="controls"> <input type="text" name="work_emp_name[<%= element.i %>]" class="work_emp_name" value="" /> </div> </div>

按钮单击事件


$("form").on("click", ".add_employer", function (e) { e.preventDefault(); var tplData = { i: counter }; $("#word_exp_area").append(tpl(tplData)); counter += 1; });

主要是调用e.preventDefault(); 防止页面重新加载。

您可能想查看此工作示例

http://jsfiddle.net/hatemalimam/EpM7W/

One approach is to define a template to add it dynamically via jQuery

Template


<script type="text/html" id="form_tpl"> <div class = "control-group" > <label class = "control-label"for = 'emp_name' > Employer Name </label> <div class="controls"> <input type="text" name="work_emp_name[<%= element.i %>]" class="work_emp_name" value="" /> </div> </div>

Button click event


$("form").on("click", ".add_employer", function (e) { e.preventDefault(); var tplData = { i: counter }; $("#word_exp_area").append(tpl(tplData)); counter += 1; });

The main thing is to call e.preventDefault(); to prevent the page from reload.

You might want to check this working example

http://jsfiddle.net/hatemalimam/EpM7W/

更多推荐

本文发布于:2023-07-19 23:03:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1188579.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   动态   Save   dynamically   input

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!