![](/img/trans.png)
[英]Dynamically jQuery use .append() add inputs , but posting form is not append data
[英]Dynamically add form fields with jquery not posting
我已經成功設置了表格並使它起作用。 但是我有一個問題
我從這里得到這個jQuery
一切正常,但是當我將數據發布到tcpdf新創建的行時卻沒有發送,同時我也想添加到數據庫中,請任何人知道答案,不勝感激。 這是我的密碼
<script type="text/Javascript">
$(document).ready(function() {
$('#btnAdd').click(function() {
var num = $('.clonedSection').length;
var newNum = new Number(num + 1);
var newSection = $('#pq_entry_' + num).clone().attr('id', 'pq_entry_' + newNum);
newSection.children(':first').children(':first').attr('id', 'quantity_' + newNum).attr('name', 'quantity_' + newNum);
newSection.children(':nth-child(2)').children(':first').attr('id', 'rcptdelvry_' + newNum).attr('name', 'rcptdelvry_' + newNum);
newSection.children(':nth-child(2)').children(':first').attr('id', 'weight_' + newNum).attr('name', 'weight_' + newNum);
newSection.children(':nth-child(2)').children(':first').attr('id', 'volume_' + newNum).attr('name', 'volume_' + newNum);
newSection.insertAfter('#pq_entry_' + num).last();
$('#btnDel').prop('disabled','');
if (newNum == 5)
$('#btnAdd').prop('disabled','disabled');
});
$('#btnDel').click(function() {
var num = $('.clonedSection').length; // how many "duplicatable" input fields we currently have
$('#pq_entry_' + num).remove(); // remove the last element
// enable the "add" button
$('#btnAdd').prop('disabled','');
// if only one element remains, disable the "remove" button
if (num-1 == 1)
$('#btnDel').prop('disabled','disabled');
});
$('#btnDel').prop('disabled','disabled');
});
</script>
這是我的HTML部分
<fieldset>
<ul id="pq_entry_1" class="clonedSection">
<label class="textfield">QUANTITY
<li><input type="text" name="quantity_1" id="quantity_1"></li>
<br class="clear">
</label>
<label class="textfield">TYPE<br>
<li><select name="rcptdelvry_1" id="rcptdelvry_1">
<option value="">-- Please Select --</option>
<optgroup label="LCL CARGO">
<option value="PACKAGES">PACKAGES</option>
<option value="CARTONS">CARTONS</option>
<option value="BALES">BALES</option>
<option value="BOX">BOX</option>
<option value="PALETTES">PALETTES</option>
<option value="CRATE">CRATE</option>
</optgroup>
<optgroup label="FULL CONTAINER">
<option value="20' Bulk (with roof hatches)">20' Bulk (with roof hatches)</option>
<option value="20' Collapsible Flat Rack">20' Collapsible Flat Rack</option>
<option value="20' Dry">20' Dry</option>
<option value="20' Flat Rack">20' Flat Rack</option>
<option value="20' Highvent w/o roof hatches">20' Highvent w/o roof hatches</option>
<option value="20' Open Top">20' Open Top</option>
<option value="20' Porthole (conair)">20' Porthole (conair)</option>
<option value="20' Reefer">20' Reefer</option>
<option value="20' Tank">20' Tank</option>
<option value="40' Artificial Tweendeck">40' Artificial Tweendeck</option>
<option value="40' Collapsible Flat Rack">40' Collapsible Flat Rack</option>
<option value="40' Dry">40' Dry</option>
<option value="40' Flat Rack">40' Flat Rack</option>
<option value="40' High Cube">40' High Cube</option>
<option value="40' High Cube Reefer">40' High Cube Reefer</option>
<option value="40' Open Top">40' Open Top</option>
<option value="40' Starvent (9'6)">40' Starvent (9'6)</option>
<option value="40' Tank">40' Tank</option>
<option value="45' High Cube">45' High Cube</option>
<option value="45' High Cube Reefer">45' High Cube Reefer</option>
</optgroup>
</select></li>
<br class="clear">
</label>
<label class="textfield">WEIGHT (kg per container)
<li><input type="tel" name="weight_1" id="weight_1"></li>
<br class="clear">
</label>
<label class="textfield">VOLUME (cbm):
<li><input type="tel" name="volume_1" id="volume_1"></li>
<br class="clear">
</label>
</ul>
</fieldset>
<input type='button' id='btnAdd' size="15" value='add another row' />
<input type='button' id='btnDel' value='delete row' />
</div>
</div>
這是我的tcpdf部分
<td width="0" height="0">
: {$_POST['quantity_1']}X{$_POST['rcptdelvry_1']}{$_POST['quantity_2']}X{$_POST['rcptdelvry_2']}
</td>
在這種情況下,無法使用標准的“提交”按鈕提交表單。 提交按鈕不考慮頁面加載后創建的表單域。
您必須編寫一個提交處理程序,以對數據進行序列化並將其發送到服務器。
嘗試這樣的事情:
$('#yourFormID').on('submit', function(e) {
//prevent the default submithandling
e.preventDefault();
//send the data of 'this' (the matched form) to yourURL
$.post('yourURL', $(this).serialize());
});
現在在服務器端,您將$ _POST變量填充為鍵和值。
您還可以檢查在Firebug或任何其他Webdeveloper工具中發送的數據。
編輯:
我更改了您的小提琴以使用我的代碼:
我已經在您的輸入周圍包裹了<form></form>
並添加了<input type='submit' />
按鈕
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.