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

sokol

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

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

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

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

Кто нибудь сталкивался с такой проблемой?
 

crocodile2u

http://vbolshov.org.ru
А в чем проблема-то? Какая разница, где визуально находилось поле до сабмита, когда сабмит уже случился?
 

sokol

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

crocodile2u

http://vbolshov.org.ru
Погоди. Давай выясним все по пунктам.

Итак, у тебя следующий 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]]">
В таком случае, так и надо было говорить...
 

sokol

Zavolga.Net
2crocodile2u все так, вот только в посте должно придти и придет если использовать IE или Opera

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

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

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

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

т.е. как бы положение и не менялось, хотя визуально элемент перемещен
 

Ямерт

The Old One
Не забывай, что ключи в данном случае являются стоками и приходят неотсортированными
Какими ещё стоками? И почему эти элементы нельзя отсортировать средствами PHP?
 

sokol

Zavolga.Net
Ямерт Отсортировать можно, но мне как раз наоборот нужно чтобы они пришли неотсортированными. Это не суть важно какие ключи, пусть хоть test1, test2, test3, важно что мозила забивает на порядок следования в форме.

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

alx99

Новичок
нужен порядок следования полей в форме, сохраняй его

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