Формирование json через for
Добрый день! П
Пишу небольшую функцию. Ее задача проверять нужные поля за заполнения формировать json и отправлять на сервер через ajax function sendmyform(idform,arr){ if(typeof idform!=="object") { alert(idform +" - строка, надо Object") return false } var inputs = $(idform).find("input"); if(inputs.length==0){ alert("ХЗ но input`ов 0"); return false } // Проверяем полня на атрибут "required", значения по умолчанию и пустоту // arr - содержит значения всех полей в качестве ключя,name инпута for(var i=0; i<=inputs.length; i++){ if($(inputs[i]).attr("required")=="required" && arr[$(inputs[i]).attr("name")] == $(inputs[i]).val() || $(inputs[i]).val()==""){ alert("Поле '" + arr[$(inputs[i]).attr("name")]+"' должно быть заполнено!"); error=true; } } var tmp = new Array(); // Начало проблемы // Перебираем в все инпуты формы и формируем json из атрибутов. for(var i=0; i<=inputs.length-1; i++){ if($(inputs[i]).attr("name")!=""){ tmp[i] = { name:$(inputs[i]).attr("name"), title:$(inputs[i]).attr("title"), value:$(inputs[i]).val() }; } } // Разбиваем массив на строку sendvar = tmp.join(',') //alert ( JSON.stringify( sendvar ) ); //"[object Object],[object Object],[object Object],[object Object]" $.ajax({ type:"POST", dataType: "json", url:"/sendorder.php", data:sendvar, success: function(answer){ //~ //~ } }); } Пробовал делать так for(var i=0; i<=inputs.length-1; i++){ if($(inputs[i]).attr("name")!=""){ tmp += { name:$(inputs[i]).attr("name"), title:$(inputs[i]).attr("title"), value:$(inputs[i]).val() }+","; } } tmp +={"all":i} Тоже не помогло. |
//var tmp = new Array(); var tmp = {} и уберите tmp.join(',') |
ААаа! Сапсибо.
3 часа вчера моз ломал. |
Часовой пояс GMT +3, время: 00:32. |