Показать сообщение отдельно
  #1 (permalink)  
Старый 14.05.2014, 15:59
Интересующийся
Отправить личное сообщение для -=1100=- Посмотреть профиль Найти все сообщения от -=1100=-
 
Регистрация: 07.09.2009
Сообщений: 26

Формирование 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}


Тоже не помогло.
Ответить с цитированием