js函数 获取所有用户输入数据转化为数组
$("#next_btn").on('click',function(){
/* 先通过函数获取所有的用户输入参数并转化为json数据类型 */
var arr = get_all_input();
var json = {};
for(var i=0;i<arr.length;i++)
{
var json_2 = {};
for(var m=0;m<arr[i].length;m++)
{
json_2[0]=arr[i][0];
if(arr[i][1] instanceof Array){
if(arr[i][1].length==0){
json_2[1]='';
}else{
var json_3 = {};
for(var n=0;n<arr[i][1].length;n++)
{
json_3[n]=arr[i][1][n];
}
json_2[1]= json_3;
}
}else{
json_2[1]=arr[i][1];
}
}
json[i] = json_2;
}
json = JSON.stringify(json);//将对象数据转化为json数据
//console.log(json)
/* over */
$.post('/Home/Creat/ajax_creat', json,
function(data){
//alert('成功post回数据');
if(data.info == 'ok') {
console.log(data);
} else {
console.log(data);
}
}, 'json').error(function(){
alert("网络连接错误,请稍后再试");
});
});
/*
通过函数获取用户提交所以数据,防止后期调整表单,数据提交js出错
这个函数可以将所有用户输入内容转化为js数组,方便进行json转化
*/
function get_all_input(){
var arr = new Array();
var checkbox_name ='';
var radio_name ='';
var i = -1;
var n = 0;
//处理 文字输入框
$("#creat_form").find("input[type='text']").each(function(){
i ++ ;
arr[i] = [$(this).attr('name'),$(this).val()];
});
//处理 多选
$("#creat_form").find("input[type='checkbox']").each(function(){
//如果和上一次处理的属于同一个checkbox
if( checkbox_name == $(this).attr('name') ){
if($(this).is(':checked')){
arr[i][1][n] = $(this).val();
n++;
}
}
//如果是新的checkbox
else{
n = 0;
i ++ ;
arr[i] = [];
if($(this).is(':checked')){
arr[i][0] = $(this).attr('name');
arr[i][1] = [];
arr[i][1][n] = $(this).val();
n++;
}else{
arr[i][0] = $(this).attr('name');
arr[i][1] = [];
}
checkbox_name = $(this).attr('name');
}
});
//处理 下拉框
$("#creat_form").find("select").each(function(){
i ++ ;
arr[i] = [$(this).attr('name'),$(this).val()];
})
//处理 多文本输入框
$("#creat_form").find("textarea").each(function(){
i ++ ;
arr[i] = [$(this).attr('name'),$(this).val()];
})
//处理 单选框
$("#creat_form").find("input[type='radio']").each(function(){
//如果和上一次处理的属于同一个radio
if( radio_name == $(this).attr('name') ){
if($(this).is(':checked')){
arr[i][1] = $(this).val();
}
}
//如果是新的radio
else{
i ++ ;
arr[i] = [];
if($(this).is(':checked')){
arr[i][0] = $(this).attr('name');
arr[i][1] = $(this).val();
}else{
arr[i][0] = $(this).attr('name');
arr[i][1] = '';
}
radio_name = $(this).attr('name');
}
})
//console.log(arr);
return arr;
}