簡體   English   中英

保存動態生成的輸入字段

[英]Save dynamically generated input fields

我正在使用此代碼生成動態ADD更多輸入字段,然后計划使用“保存”按鈕將其值保存在數據庫中。 挑戰在於,在“保存”按鈕上,我想繼續顯示“用戶生成的輸入”字段。 但是,單擊“保存”按鈕會刷新它們。

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/

與Hatem Alimam所寫的一樣,讓你的表單調用upate.php文件,目標是1px的iframe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM