26.04.2011, 12:48
|
Новичок на форуме
|
|
Регистрация: 26.04.2011
Сообщений: 7
|
|
сбор данных из формы
ребят, помогите пожалуйста, запутался уже в массивах, пытаюсь собрать значения из формы
<div id="cont">
<input type="hidden" name="attr_id[0]" value="297" />
<input type="hidden" name="attr_id[1]" value="1315" />
<input type="hidden" name="attr_id[2]" value="1520" />
</div>
<select name="id[3]" onchange="alert(this.options[this.selectedIndex].value);">
<option value="32">46</option>
<option value="47">48</option>
<option value="9">50</option>
<option value="9">50</option>
<option value="10">52</option>
<option value="11">54</option>
<option value="12">56</option>
<option value="52">58</option>
<option value="53">60</option>
<option value="15">62</option>
<option value="16">64</option>
</select><br />
<select name="id[4]" onchange="alert(this.options[this.selectedIndex].value);">
<option value="86">158-164</option>
<option value="18">170-176</option>
<option value="19">182-188</option>
<option value="79">194</option>
</select>
и передать их пхп скрипту, в упор не понимаю, как это реализовать, подскажите хотя бы, какие функции задействовать, тут каждый параметр - это атрибут продукта, к примеру штаны, в конечном итоге набираются атрибуты вплоть до конечного товара, типа штаны красные, с синей полоской, 42 размера и т.п.
имеется пхп скрипт, который беря айдишники этих атрибутов распознаёт конкретный товар и выбирает картинки именно для него, нужно просто передать ему эти ид.
с хидденов $('#cont > input') просто нужно собрать по идее, с селектами не очень понятно, как к ним обратиться, с событием при изменении селекта понятно, если функция к примеру sbor(), то в ончейндж просто нужно javascript :sbor(); прописать
|
|
26.04.2011, 13:31
|
|
prodigy
|
|
Регистрация: 01.11.2010
Сообщений: 503
|
|
Может надо завернуть все в <form> И кнопку submit добавить?
__________________
readOnly
|
|
27.04.2011, 00:55
|
Новичок на форуме
|
|
Регистрация: 26.04.2011
Сообщений: 7
|
|
эт часть кода, сам код массивен, поэтому не стал выкладывать, привёл пример того, с чем надо работать, хочу узнать, какими средствами собрать значения тегов конкретного и каким образом передать пхп скрипту
з.ы. форум по jquery, вопрос соответственно тоже, а не как форму отправлять пхп скрипту... сурово, тип выбрал из выпадающего списка 42 размер ботинок, и чтобы ему увидеть их фотку, нужно перезагружать страницу с jquery галереей, зачем вообще ява тогда?)
переменные POST имеют возможность передавать массивы?
если да, то как создать массив из значений приведённых в примере тегов
Последний раз редактировалось do.it, 27.04.2011 в 01:08.
|
|
27.04.2011, 01:27
|
|
prodigy
|
|
Регистрация: 01.11.2010
Сообщений: 503
|
|
Сообщение от do.it
|
переменные POST имеют возможность передавать массивы?
|
ответ
Сообщение от do.it
|
з.ы. форум по jquery
|
и не по jquery а по javascript
Сообщение от do.it
|
зачем вообще ява
|
вы хотели сказать javascript
Если не хотите перегружать страницу, почитайте тут на сайте статьи про AJAX.
Чтобы собрать какую либо информацию с элементов, получите их выборку, потом в цикле по ней пройдитесь и соберите нужную информацию.
Если хотите спросить как это сделать, прочитайте весь учебник по js на этом сайте.
Если не хотите его читать, скопируйте топик в раздел работа.
PS. да с помощью POST можно массив передать. Я пхп не знаю, так что и себе и вам посоветую почитать как это сделать)))
надеюсь, тон вас не обидел
__________________
readOnly
|
|
27.04.2011, 01:56
|
Новичок на форуме
|
|
Регистрация: 26.04.2011
Сообщений: 7
|
|
я знаю что такое аякс, я не просил писать скрипт, спросил, в какую степь копать, какие команды мануалить. собрать абсолютно всё и потом перебирать - через чур громоздко, Вам так не кажется? можно по дом-структуре дойти до нужных элементов, просто я немного не понимаю, если я к примеру запрошу $('#count > input').value(); что я получу? массив name и их значений? или просто набор проиндексированных значений? или строку с нагромождением?
я изучаю javascript не беспокойтесь, просто сейчас параллельно присутствует необходимость срочного решения конкретной задачи, я уже со всех сторон её описал, пришёл сюда за советом, иначе зачем ещё нужно сообщество? ради лишь показа своих самых-пресамых-наикрутейших достижений? было бы глупо. это место, где опытный может наставить на путь новичка, и новичек может иметь возможность познать мудрость
нет, тон не обидел, расстроило отсутствие продуктивной информации,ртфм любой сказать может, я прекрасно представляю алгоритм, понимаю что он легко реализуем, не знаю пока средств, спросил совета. я ни кого не просил писать за меня что-либо
п.с. с load(); post(), get() работать умею, основной загвоздка в том, как массив сформировать с атрибутами, чтобы постом отправить к примеру post['attrs'] содержащий массив атрибутов. пхп часть реализовал, это не проблема. а вот с массивами javascript не сталкивался ни разу
Последний раз редактировалось do.it, 27.04.2011 в 02:15.
|
|
27.04.2011, 02:12
|
|
prodigy
|
|
Регистрация: 01.11.2010
Сообщений: 503
|
|
Сообщение от do.it
|
словам придираются обычно те, кому по сути сказать нечего
|
Сообщение от do.it
|
просто я немного не понимаю
|
Сообщение от do.it
|
какие команды мануалить
|
ну помануальте вот эту статью, тут написано как искать элементы в DOM
http://javascript.ru/tutorial/dom/search
Это самые основы, без этого никуда, как же вы тогда
Сообщение от do.it
|
я изучаю javascript не беспокойтесь
|
Вот, я вам указал в какую степь копать, прошу прощения за выпендреж в первом посте, надеюсь теперь претензий нет и форум оправдал ваши ожидания выполнив свою основную функцию - дал совет и направление.
__________________
readOnly
|
|
27.04.2011, 02:18
|
Новичок на форуме
|
|
Регистрация: 26.04.2011
Сообщений: 7
|
|
ээ я подредактировал там, пока Вы писали, из соображений вежливости) и пост скриптум написал, там мне кажется более точно о том, что мне нужно
до элементов я добираюсь без труда, но
Цитата:
|
если я к примеру запрошу $('#count > input').value(); что я получу? массив name и их значений? или просто набор проиндексированных значений? или строку с нагромождением?
|
upd.: и нет ли в jquery подобия GetElementsByName? ака обращение к айдишнику через #id
upd2.: массивы мануалю, обленился, в гугл не полез =)
Последний раз редактировалось do.it, 27.04.2011 в 02:24.
|
|
27.04.2011, 02:31
|
|
Профессор
|
|
Регистрация: 09.11.2009
Сообщений: 1,101
|
|
Сообщение от do.it
|
переменные POST имеют возможность передавать массивы?
|
Вроде как да. К примеру:
$.post("test.php",'name[first]=Vasya&name[second]=Pupkin');
// Или
var ids_list = array(1,2,3,4,5);
$.post("test.php",
{'ids[]': ids_list},
function(result){
//обработка данных которые вернул сервер
}
);
Сообщение от do.it
|
$('#count > input').value(); что я получу? массив name и их значений? или просто набор проиндексированных значений? или строку с нагромождением?
|
Во первых не value() а val()
Строчка:
$('#count > input').val();
Вернет значение первого поля.
Для обработки всех полей используйте к примеру:
$('#count > input').each(function() {
// Тут обрабатываете каждое поле по отдельности. Формируйте массив к примеру
});
Сообщение от do.it
|
и нет ли в jquery подобия GetElementsByName?
|
Так можно:
$('input[name="blablabla"]').val();
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Последний раз редактировалось walik, 27.04.2011 в 02:40.
|
|
27.04.2011, 02:44
|
Новичок на форуме
|
|
Регистрация: 26.04.2011
Сообщений: 7
|
|
Цитата:
|
// Тут обрабатываете каждое поле по отдельности. Формируйте массив к примеру
|
Вы имеете в виду нечто вроде этого? (если в строку собирать, массивы сейчас читаю)
attrs .= this.value() + ', ';
или $(this).val(), как правильнее?
|
|
27.04.2011, 02:47
|
|
Профессор
|
|
Регистрация: 09.11.2009
Сообщений: 1,101
|
|
Массив можно так формировать:
var arr = [];
$('#count > input').each(function() {
arr.push($(this).val());
});
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
|
|
|
|