在Ajax发布数据中使用jquery变量和循环

时间:2017-06-29 21:09:05

标签: jquery ajax loops variables

我真的不知道如何使用Ajax后期数据功能,但我使用了一些免费的简单文件,并尝试稍微调整一下。

我想要改变的简单代码部分是:

post_data = {
'clcon_user_name'       : $('input[name=name]', clientConParent).val(),
'clcon_user_lastname'   : $('input[name=lastname]', clientConParent).val(),
'clcon_user_email'  : $('input[name=email]', clientConParent).val(),
'clcon_phone_number'    : $('input[name=phone]', clientConParent).val(),
'clcon_msg'         : $('textarea[name=message]', clientConParent).val(),
'pro_mailto'    : $('input[name=promailto]', clientConParent).val()
};

我想让它变得动态,所以它会循环遍历表单上的字段并以这种格式抓取它们: ' npf_ {字段名称atrr}' :$('输入[name = {字段名称atrr}]',theForm).val(), 对于post_data(对于Ajax $.post(...函数)。

我试过了:

post_data = {
$("input, textarea, select", theForm).each(function(){
'\'npf_$'+$(this).attr('name')'\'' : $('input[name='++$(this).attr('name')+']', theForm).val(),
});
};

没有工作,也尝试过:

post_data = {
$("input, textarea, select", theForm).each(function(){
var theName = $(this).attr('name');
'npf+theName' : $('input[name='+theName+']', theForm).val(),
});
};

没有工作,也尝试过:

post_data = {
$("input, textarea, select", theForm).each(function(){
var theName = $(this).attr('name');
'npf+theName' : $('input[name='+theName+']', theForm).val(),
});
};

我知道我必须做一些错误的事情...我可以使用一些" For Dummies"解释感觉我是初学者。

1 个答案:

答案 0 :(得分:1)

创建一个空对象,然后遍历表单以设置该对象的属性。

post_data = { };

$("input, textarea, select", theForm).each(function(){
    var theName = $(this).attr('name');
    post_data['npf_' + theName] = $(this).val();
});