Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Как передать через форму многомерный массив |
Автор: masterlelik 30.4.2008, 17:46 |
Простой вопрос как мне кажется На джаваскрипте сформировал многомерный массив COLORS[][][] Но не знаю как через форму "засабмитить" этот массив если делаю так document.rm.colors.value=COLORS; то на выходе получаю уже не массив а одну строку, вида: ,,,,,,,,,,,,2008-04-30 12:30:00 что и неудивительно сама форма простенькая: <form name="rm" action=""> <input type="hidden" name="colors" value=""> </form> Подскажите как быть... |
Автор: ksnk 30.4.2008, 17:57 |
COLORS содержит даты? Оррригинально... ![]() В value можно присвоить только строку. Так что нужно каким-то образом написать упаковку массива в строку и распаковку его обратно. Для совершенно абстрактного массива лучше воспользоваться какими-то готовыми конструкциями, к примеру php.js и функции http://javascript.ru/php/serializeи http://javascript.ru/php/unserialize. Польза в них та, что писать ничего самому не надо и имеется некая совместимость с php'шными функциями, может в жизни пригодиться. Можно воспользоваться функциями join для одномерного массива и split для строки |
Автор: masterlelik 30.4.2008, 18:04 |
"COLORS содержит даты? Оррригинально." - это для теста)))) А вот насчет склеить их в одну строку - как вариант, спасибо. Например я пхпшным циклом генеря, код получаю например такое <input type="hidden" name="colors[10][1]" value="111"> <input type="hidden" name="colors[10][2]" value="222"> <input type="hidden" name="colors[12][1]" value="333"> и в пхп я получаю именно массив, только как тогда поменять значение скажем первого хидена? document.rm.colors[10][1].value=444; пишет ошибку..... |
Автор: ksnk 30.4.2008, 19:12 | ||
|
Автор: masterlelik 30.4.2008, 19:42 |
Да, спасибо, именно то что нужно, правда я уже через нагенерил строку передал и распарсил, так что двойное гран мерси![]() Кстати через строку получается без избыточности в коде. Если бы через массив в хиденнах, то надо было генерить для каждой позиции свой хидден, который хранил бы свое значение. |
Автор: IDVsbruck 1.5.2008, 04:23 |
Еще можно в JSON запаковать, а потом на сервере библиотекой вытянуть. |