以下代码可帮助我添加更多输入字段,但是在提交时并不会带来所有输入数据记录。请帮助弄清楚并理解。
$(document).ready(function(){
$("#addmore").click(function(){
// alert(counters);
$("li").append("<li><input type='text' id='hd' name='hd' value='heading' onClick='this.select();'> <input type='text' id='amount' name='amount' value='amount' onClick='this.select();'></li>");
});
$("#submit").click(function () {
var msg = '';
for(i=1; i<counters; i++){
msg += $('#hd' + i).val() + $('#amount' + i).val();
}
alert(msg);
});
});
<button id="addmore">+</button>
<form method="post">
<ul>
<li>
<input type="text" id="hd1" name="hd1" value="heading" onClick="this.select();">
<input type="text" id="amount1" name="amount1" value="amount" onClick="this.select();">
</li>
</ul>
<input type="submit" value="Submit" id="submit">
</form>
最佳答案
这是工作示例,请尝试...。
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script language="javascript">
function deleterow(id){
var to_del='row_id_'+id;
$(to_del).destroy();
var count_row = document.getElementById('count_row').value;
count_row--;
//alert(count_row);
document.getElementById('count_row').value = count_row;
}
function deletefirstrow(first_row)
{
$(first_row).destroy();
var count_row = document.getElementById('count_row').value;
count_row--;
//alert(count_row);
document.getElementById('count_row').value = count_row;
}
function addrow()
{
var div = document.createElement('div');
var count_row = document.getElementById('count_row').value;
count_row++;
//alert(count_row);
document.getElementById('count_row').value = count_row;
var content = '<div id="row_id_'+count_row+'"><select id="sweet_type[]" name="sweet_type[]" style="width:112px"><option>select item type</option><option>Besan Ladoo</option><option>Bundi Ladoo</option></select> <select id="order_type[]" name="order_type[]" style="width:123px"><option>select order type</option><option>1 kg</option><option>1/2 kg</option></select> <input type="text" id="quantity[]" name="quantity[]" size="10" value="" class="inputbox" maxlength="100" style="width:50px"/> <label class="button" style="cursor:pointer" onclick="deleterow('+count_row+')">Delete</label></div>';
div.innerHTML = content;
var container = document.getElementById('rowcontaniner');
container.appendChild(div);
}
</script>
<form action="/order-form.html" method="POST" id="submitForm" name="submitForm" class="form-validate" onsubmit="return validate_form()" >
<div class="form_div_content " id="vScroll" style="width:790px; height:282px;">
<!-- Form Field Row Start -->
<div class="form_row" style="height:280px;">
<table>
<tr>
<td colspan="4"><div id="to_del_firstrow">
<select class="" style="width:112px" id="sweet_type[]" name="sweet_type[]">
<option>select item type</option>
<option>Besan Ladoo</option>
<option>Bundi Ladoo</option>
</select>
<select style="width:123px" id="order_type[]" name="order_type[]">
<option>select order type</option>
<option>1 kg</option>
<option>1/2 kg</option>
</select>
<input style="width:50px" id="quantity[]" name="quantity[]" size="10" value="" class="inputbox" maxlength="100" type="text">
<input id="price[]" name="price[]" size="10" value="" class="inputbox" maxlength="100" type="hidden">
<input id="total[]" name="total[]" size="10" value="" class="inputbox" maxlength="100" type="hidden">
<label class="button" style="cursor:pointer" onclick="deletefirstrow('to_del_firstrow')">Delete</label>
</div>
<div id="rowcontaniner">
<div></div>
</div>
</td>
<tr>
<td colspan="4">
<div id="add_row_items" class="form_add button" style="padding:0 5px; margin-right:12px;" onClick="addrow()">
<label style="cursor:pointer" for="add"> ADD ITEMS</label>
</div>
</td>
</tr>
<input type="hidden" value="0" id="count_row" name="count_row" />
</tbody>
</div>
</div>
</form>
</table>