Изменение порядка вывода товаров PHP+JavaScript

Yura

Новичок
Изменение порядка вывода товаров PHP+JavaScript

На страницу в админке выводится таблица со следующими колонками: 1) ID (соответствует ID в таблице базы данных MYSQL), 2) Наименование товара, 3) Колонка со стрелочками для изменения порядка расположения товаров. Т.е., если нажать стрелочку вверх на против позиции, напр., 3, то 2-я и 3-я позиции меняются местами. После нажатия кнопки сохранить в таблице mysql должны сохраниться изменения порядка (поле pos) отображения товаров на странице каталога сайта.
Изменения на странице в админке после нажатия стрелочек есть - вроде все как нужно работает. А вот новые значения pos и id в полях hidden не меняются. Эти новые значения из этой формы должны передаваться в скрипт для изменения в таблице mysql.
Не пойму, как сделать, чтобы значения id и pos меняли свои значения в форме.

Вот сама функция get_up(c_id, pos, i)
{

posbegin = pos;
posend = pos-1;
j=i-1;
x=i+1;
ctit = document.getElementById("ctitle"+j).innerHTML;
ctitx = document.getElementById("ctitle"+i).innerHTML;
document.getElementById("ctitle"+i).innerHTML = ctit;
document.getElementById("ctitle"+j).innerHTML = ctitx;

p = document.getElementById("pos"+j).value;
document.getElementById("pos"+i).value = posend;
document.getElementById("pos"+j).value = posbegin;}

Поля hidden формы:

"<input type=\"hidden\" name=\"pos".$i."\" id=\"pos".$i."\" value=\"".$row['pos']."\">";
"<input type=\"hidden\" name=\"c_id".$i."\" id=\"c_id".$i."\" value=\"".$row['c_id']."\">";

Т.е., в функции до строки "р=..." все работает нормаьно, а дальше я пытаюсь изменить значения элементов формы. Видимо здесь что-то не так. Подскажите, как нужно правильно делать
 

AmdY

Пью пиво
Команда форума
воспользуйся firebug для отладки.
вроде всё верно, поделай
alert( document.getElementById("pos"+j));
alert( document.getElementById("pos"+i) );
alert( document.getElementById("pos"+j) );
возможно что-то намутил с id, кстати а зачем j=i-1;x=i+1;
 

Yura

Новичок
Автор оригинала: AmdY
воспользуйся firebug для отладки.
вроде всё верно, поделай
alert( document.getElementById("pos"+j));
alert( document.getElementById("pos"+i) );
alert( document.getElementById("pos"+j) );
Сделал проверку немного подругому - вместо hidden поставил text. Самое интересное, что на странице в этих полях отображаются измененные значения, а смотрю html - там все как и было. Странно как-то.
Видимо, нужно как-то по-другому присваивать значения элеентам формы. А как? Если бы name не было бы переменным, то все просто. А как в данном случае?


возможно что-то намутил с id, кстати а зачем j=i-1;x=i+1;
Может быть и с id что-то намутил - пока не могу понять.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Yura
FF+WebDeveloper -> View Sourse -> View Generated Sourse
 

Yura

Новичок
Автор оригинала: Mr_Max
Yura
FF+WebDeveloper -> View Sourse -> View Generated Sourse
Посмотрел.
Какая-то интересная запись:
<input type="hidden" name="pos0" id="pos0" value="1"><input>3<input type="hidden" name="c_id0" id="c_id0" value="1">
Не совсем понятно, что значит <input>3, а дальше опять <input ...
Т.е., значение pos0, pos1 и pos2 не изменились, но появилась непонятная запись, в которой - цифра 3. Вместо value="1" должно быть value="3"

-~{}~ 11.05.08 15:06:

Все заработало. В форме html новые параметры почему-то не показываются, но в рнр-скрипт передаются. Сам не понял как это работает, но, главное, что работает.
 
Сверху