复杂jquerypost
我有一个表单,其中包含n个amount div,每个div包含单独的输入。这些div存在于相同的类名“c1”下,但不包含任何其他属性。每个c1包含具有唯一类名的相同输入。每个div将始终包含相同样式的输入。这方面的一个例子是:复杂jquerypost,jquery,html,Jquery,Html,我有一个表单,其中包含n个amount div,每个div包含单独的输入。这些div存在于相同的类名“c1”下,但不包含任何其他属性。每个c1包含具有唯一类名的相同输入。每个div将始终包含相同样式的输入。这方面的一个例子是: <div class="c1"> <input class="in1" type="text"/> <input class="in2" type="text"/> </div> <div class=
<div class="c1">
<input class="in1" type="text"/>
<input class="in2" type="text"/>
</div>
<div class="c1">
<input class="in1" type="text"/>
<input class="in2" type="text"/>
</div>
<div class="c1">
<input class="in1" type="text"/>
<input class="in2" type="text"/>
</div>
应该使用jQuery的$.post(…)通过post发送信息。我不使用id系统让用户能够修改内容,即添加和删除c1 div。我不知道如何将收集到的信息发布到一个php页面上,以获取n个条目,也不知道如何根据div将信息保存在一起。有什么建议吗
我一直在考虑使用serialize,但我不确定如何根据封装的div保持信息的唯一性。另一种方法是使用
为post的“data”参数创建自定义映射,但是有些东西告诉我,我走错了路。如果动态生成,可以为每个输入设置唯一的id。比如inp1,inp2等等。然后,您可以基于这些唯一ID创建地图。您可以执行以下操作以自动生成命名参数:
var postData = {};
$(".c1").each(function() {
var name = "input" + $(this).index();
postData[name + "in1"] = $(this).find(".in1").val();
postData[name + "in2"] = $(this).find(".in2").val()
})
console.log(postData);
然后通过AJAX提交postData
如果您严格遵循HTML代码,则无法自动执行任何操作,例如使用jQuery中的.serialize()
方法,因为它至少需要使用名称
手动操作时,您可以创建数据,然后按如下方式发布:
$("#btnSave").click(function() {
var dt = {},
div = 0,
arr = 0;
$(".c1").each(function() {
// for each <div class="c1">
$(this).find("input").each(function() {
// for each <input> inside the <div>
dt['p' + arr++] = 'd' + div +
'_c_' + $(this).attr("class") +
'_v_' + $(this).val();
});
div++;
});
// now, we post the data
$.post("http://bing.com/", dt, function(data) {
// do something...
});
return false; // dont post automatically
});
从d2\u c\u in2\u v\u 6
可以将字符串拆分为:
- div的
\u d
- 类名称的
\u c
- 输入值的
\u v\u
输入是否有name属性?@MikeRobinson它们只有class属性。是的,只需使用。每个迭代它们并创建要发送到服务器的数组。谢谢。我试图使用一种笨拙的方法生成映射。我将我的响应格式化为映射,就像您的示例一样。我也像你的帖子一样通过控制台打印出来,地图看起来很好。然而,当我试图将postdata
传递到$.post(“the/webpage.php”,postdata,function(data){…})中时,我通过谷歌浏览器得到了这个未捕获的类型错误:非法调用
代码>。Chrome指向那条线。
p0 _d_0_c_in1_v_1
p1 _d_0_c_in2_v_4
p2 _d_1_c_in1_v_2
p3 _d_1_c_in2_v_5
p4 _d_2_c_in1_v_3
p5 _d_2_c_in2_v_6