Изменение положение элемента формы в Mozilla Firefox. Траблы.

  • Автор темы Автор темы sokol
  • Дата начала Дата начала

sokol

Zavolga.Net
Изменение положение элемента формы в Mozilla Firefox. Траблы.

Имеем три поля ввода с именами
test[1], test[2], test[3].

С помошью DOM перемещаю поле ввода с именем test[3] в самый верх, до всех остальных.

Результат:
В IE приходит массив с порядком 3,1,2
В Опере тоже самое
В Mozilla Firefox так и остается 1,2,3 хотя визуально поле переместилось.

Кто нибудь сталкивался с такой проблемой?
 
А в чем проблема-то? Какая разница, где визуально находилось поле до сабмита, когда сабмит уже случился?
 
crocodile2u Какой сабмит? Сначала перемещение узла, а потом сабмит. Т.е. firefox как бы пофигу в каком порядке идут поля формы на странице, он запоминает тот порядок который был при первоначальной загрузке.
 
Погоди. Давай выясним все по пунктам.

Итак, у тебя следующий HTML:

PHP:
<input name="i[[b]1[/b]]">
<input name="i[2]">
<input name="i[[b]3[/b]]">

В результате полльзовательский манипуляций, осуществляемы JavaScript'ом, "получили" такой:

PHP:
<input name="i[[b]3[/b]]">
<input name="i[2]">
<input name="i[[b]1[/b]]">

Отсабмитили...

На сервере проверяем $_POST['i'], и в ней следующее:

PHP:
$_POST['i'][1] = ...
$_POST['i'][2] = ...
$_POST['i'][3] = ...

Так?

Но какая разница приложению, в каком порядке пронумерованы элементы $_POST['i']?

Или второй случай:
Все элементы имеют такой вид:
PHP:
<input name="i[[b]пустота[/b]]">

В таком случае, так и надо было говорить...
 
2crocodile2u все так, вот только в посте должно придти и придет если использовать IE или Opera

$_POST['i'][3] = ...
$_POST['i'][2] = ...
$_POST['i'][1] = ...

Не забывай, что ключи в данном случае являются стоками и приходят неотсортированными. Т.е. в случае использования индексов есть разница в каком порядке элементы формы расположены на странице.

В Мозиле же придет

$_POST['i'][1] = ...
$_POST['i'][2] = ...
$_POST['i'][3] = ...

т.е. как бы положение и не менялось, хотя визуально элемент перемещен
 
Не забывай, что ключи в данном случае являются стоками и приходят неотсортированными
Какими ещё стоками? И почему эти элементы нельзя отсортировать средствами PHP?
 
Ямерт Отсортировать можно, но мне как раз наоборот нужно чтобы они пришли неотсортированными. Это не суть важно какие ключи, пусть хоть test1, test2, test3, важно что мозила забивает на порядок следования в форме.

Т.е. если поле с ключем test3 изначально находилось в конце формы, а затем я его средствами javascript переместил в начало, то из мозилы все равно придет test1, test2, test3 вместо test3, test1, test2.
 
нужен порядок следования полей в форме, сохраняй его

возможно у тебя другая задача, но я использовал sectionRowIndex
 
Сверху