Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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}


Тоже не помогло.
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2014, 17:34
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

//var tmp = new Array();
var tmp = {}

и уберите tmp.join(',')
Ответить с цитированием
  #3 (permalink)  
Старый 15.05.2014, 09:12
Интересующийся
Отправить личное сообщение для -=1100=- Посмотреть профиль Найти все сообщения от -=1100=-
 
Регистрация: 07.09.2009
Сообщений: 26

ААаа! Сапсибо.
3 часа вчера моз ломал.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google Chart - не получается построить график из данных приходящих через json FRIE Общие вопросы Javascript 7 18.04.2014 19:07
Как выести данные через JSON mrKot Элементы интерфейса 22 19.02.2014 18:59
вывод Json через скрипт ser009 jQuery 4 09.02.2014 18:58
Отсылаются только цифры: JSON через AJAX xaocbozzz AJAX и COMET 19 27.11.2012 10:53
нужна отправка post запросов через jQuery в формате Json mstdmstd Events/DOM/Window 2 31.05.2012 15:08