$(".submitinfo").each(function() {
// Want to use ID as POST name
// And value as POST value
});
// Submit the data
$.ajax({
url: 'submit.php',
traditional: true,
data: {
'submit':'true',
'age':$('#age').val(),
'loss':$('#loss').val()
// somehow include results here
},
type: 'POST',
async: false,
success: function(data) {
alert(data);
},
error: function() {
alert('Submit Error');
}
});
我以前从来没有这样做,也无法在任何地方找到任何相关的例子。我有一系列输入,其中包含一类submitinfo,我希望能够通过ajax请求与其他输入一起提交。我怎样才能做到这一点?查看代码注释以获取详细信息。
谢谢!
答案 0 :(得分:1)
创建一个对象,并将each
函数中的值添加到对象中,并将该对象作为数据传递给$.ajax
:
var data = {
submit : 'true',
age : $('#age').val(),
loss : $('#loss').val()
}
$(".submitinfo").each(function() {
data[this.id]=this.value;
});
$.ajax({
url: 'submit.php',
traditional: true,
data: data,
type: 'POST',
async: false,
success: function(data) {
alert(data);
},
error: function() {
alert('Submit Error');
}
});
答案 1 :(得分:1)
听起来你正试图通过ajax提交表单。
我使用的javascript惯用语更短更简单。简而言之,您使用serialize函数序列化表单jquery对象。这使它以ajax友好的格式。然后,您可以将其直接发送到$.post。表单元素的name属性对应于服务器端的请求参数名称。
$.post(url, $('form').serialize(), function(data) {
alert("Success");
});
答案 2 :(得分:0)
这对你有用:
var data = {};
$('.submitinfo').each(function() {
var el = $(this),
id = el.attr('id'),
val = el.val();
data[id] = val;
});
$.ajax({
url: 'submit.php',
traditional: true,
data: data,
type: 'POST',
async: false,
success: function(data) {
alert(data);
},
error: function() {
alert('Submit Error');
}
});