您好,我正在尝试为我的表单动态生成一些输入,但它没有发布生成的新输入,到目前为止我一直在搜索,我唯一能找到的就是使表单成为直接的body 标签的子级,并且在我的应用程序的设计中这是不可能的,所以有人可能知道会发生什么以及如何解决它?不,它不适用于 .live()
。
HTML
<form name="order" id="newOrder" action="../core/query.php" method="post">
<input type="text" value="Search" id="itemSearch" class="search"/>
<input type="hidden" id="itemAdd"/>
<button type="button" class="boton" id="additem">Add</button>
<br>
<div id="items"></div>
<br>
<button type="submit" class="boton" > Submit</button>
<button type="reset" class="boton" style="float:right;"> Cancel</button>
</div>
</form>
Javascript
$('#additem').click(function(){
if($('#itemAdd').val()){
var rawr = $('<div></div>')
.css('display','none')
.html( '<br><table><td>'
+currItem.label+'</td><td> Size '
+currItem.size+'</td><td class="right">$'+currItem.price
+'</td></table> <input type="hidden" name="contents[]" value="'
+currItem.value+'"/>');
var mhm = currItem.price;
rawr.appendTo('#items').toggle(500).click(function(){
$(this).toggle(500,function(){
$(this).remove();
});
$('#total').fadeOut("fast",function(){
total = (parseFloat($(this).text())-parseFloat(mhm)).toFixed(2);
$(this).text(total).fadeIn("fast");
});
});
$('#total').fadeOut("fast",function(){
total = (parseFloat($(this).text())+parseFloat(mhm)).toFixed(2);
$(this).text(total).fadeIn("fast");
currItem=null;
});
}
});
所以基本上我使用 jQuery UI 自动完成功能和远程 JSON,当按下 #addItem
按钮时,会创建一个包含一些文本的表格和一个带有数据库 ID 的隐藏输入,所有内容都会正确显示,但提交时,它们不会发布或序列化。
最佳答案
表单元素需要一个“name”属性而不仅仅是一个“id”...否则它们的数据将不会被提交。
关于jquery - 表单不提交动态生成的输入(jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8198055/