Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Баг Firefox: по F5 перескакивает radio при динамическом добавлении в DOM input (https://javascript.ru/forum/events/10168-bag-firefox-po-f5-pereskakivaet-radio-pri-dinamicheskom-dobavlenii-v-dom-input.html)

Atoll 22.06.2010 12:49

Баг Firefox: по F5 перескакивает radio при динамическом добавлении в DOM input
 
По готовности документа вставляю до группы radio любой input. Изначально все проходит нормально. Но при обновлении страницы (по F5) под Firefox radio начинают сами собой перескакивать на одну позицию с каждым обновлением. Соответственно, нужно, чтобы не перескакивали.

вот скрипт (с использованием jquery):
$(document).ready(function(){
    $('<input type="text" value="а вот и я" />').insertBefore($('#r1'));
});

вот HTML
<input type="radio" name="ttt" id="r1" checked="checked"/>первый
<br />
<input type="radio" name="ttt" id="r2" />второй
<br />
<input type="radio" name="ttt" id="r3" />третий

subzey 22.06.2010 13:32

Хм-м… Боюсь, тут мало что можно поделать.

А нельзя его вообще не вставлять динамически? Ну, скажем, менять css display.

Atoll 22.06.2010 14:12

Цитата:

Сообщение от subzey (Сообщение 60554)
А нельзя его вообще не вставлять динамически? Ну, скажем, менять css display.

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

subzey 22.06.2010 16:51

Ну, попробуйте этот код по событию ready запускать не сразу, а с использованием setTimeout.

Atoll 22.06.2010 18:09

Фишка в том, что Firefox проставляет новые (неверные) значения еще до ready. В первый раз все значения уже проставлены, а потом только добавляется input. Потом, еще до обновления FF запоминает, кому надо будет проставить checked (тут её сбивает добавленный input). И при загрузке FF выставляет значение уже не тому, кому нужно было, а потом уже снова появляется злосчастный input.
P.S. checkbox-ы тоже плавают.

Octane 22.06.2010 18:20

Да в Firefox запоминалка форм разработчику немало проблем доставляет. Она кстати еще disabled запоминает непонятно зачем.

Kolyaj 22.06.2010 18:25

Не надо просто рассчитывать на умолчательные значения, всегда брать значения из формы.


Часовой пояс GMT +3, время: 13:44.