Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сбор атрибутов input'a и передача их (https://javascript.ru/forum/misc/33715-sbor-atributov-input%27-i-peredacha-ikh.html)

I_am_max 05.12.2012 12:10

Сбор атрибутов input'a и передача их
 
Добрый день! Стоит задача получить атрибуты input'a и передать их потом на сервер. Может кто помочь в этом ? ... Суть проекта - наполнить корзину товаром, а потом по кнопке отправить требуемые атрибуты на сервер , где они уже запишутся в бд , ну а потом их опять вывести и тд...Подготовка инпута
var div = jQuery('<div class="shopp"/>').appendTo(jQuery('.cart-info'));
       jQuery("<input />").attr({count:1, class:'go',  'menu-name':name, id:ide, price:price, type:"hidden", "menu-id":menu}).appendTo(div);


Ну а потом надо их ( инпутов может быть весьма много, в зависимости от товаров в корзине) как то подготовить и отправить на сервер

Tek 05.12.2012 12:56

для отправки на сервер читай ajax

I_am_max 05.12.2012 13:02

Ну допустим, отправлю на сервер вот так:
$.ajax({
      type: "POST",url: "/index.php",data: данные, dataType: "json"
    }).done(function(r) {
      при успешном ответе серкава
    }).fail(function() {
при ошибке сервака
});


Меня больше интересует как собрать и подготовить данные для отправки..

lord2kim 05.12.2012 13:08

I_am_max, пробегитесь по всем input-ам и соберите в объект необходимые...

I_am_max 05.12.2012 13:11

Вот меня как раз это и интересует как сделать ) ... точнее как получить только необходимые атрибуты ( без всяких лишних) ..

I_am_max 05.12.2012 13:13

Тут по соседству конечно писали нечто подобное http://javascript.ru/forum/jquery/32...uty-input.html , но что то их решение наотрез отказывается работать

lord2kim 05.12.2012 13:15

I_am_max,
var inp = document.getElementsByTagName("input");
for (i=0; i < inp.length; i++) {
    if (inp[i].id) { obj["id"] = inp[i].id; }
    //или inp[i].getAttribute("id")
    //и подобным образом собираете остальные
    //на jQuery будет проще конечно...
}

I_am_max 05.12.2012 13:18

Спасибо, мне на важно в принципе на чём , можно и на jQuery...
Начинал писать таким образом ..
jQuery('#saveBD').livequery('click', function() {
	var go = document.getElementsByClassName('go');
	for (var i=0; i<go.length; i++)
	{
// и тут надо как то формировать
	}
 });

I_am_max 05.12.2012 13:26

В принципе разобрался , всем спасибо !

ruslan_mart 05.12.2012 13:28

function Obj()
{
     var a = document.getElementsByTagName('input');
     var b = new Object();
     for(i=0;i<a.length;i++)
     {
          if(a[i].id)
          {
               b['input'+i+'_id'] = a[i].id;
          }
          if(a[i].value)
          {
               b['input'+i+'_val'] = a[i].value;
          }
     }
alert('Полученно!');
}

Obj();


Итого мы получаем что-то типо такого:
b = {input0_id:'myId', input0_val:'myValue';} и т.д.


Часовой пояс GMT +3, время: 13:23.