Проблема Firefox и рефреш формы

Тема в разделе "CSS, HTML, Web 2.0, верстка по web-стандартам", создана пользователем Andrey, 11.01.2013.

  1. Andrey
    Offline

    Andrey Недавно здесь

    Регистрация:
    27.12.2005
    Сообщения:
    77
    Симпатии:
    4
    Пол:
    Мужской
    Здравствуйте.
    Вопрос собственно не по Joomla, но возник при работе с формой в ней. Проблема именно в FF, т.к. другие браузеры (Chrome, IE) сбрасывают любые изменения формы.

    Подробнее, что не так. Скопируйте и запустите код приведенный ниже, при отображении формы уберите все выбранные чекбоксы и выберите "Test4", обновите форму (F5 или Ctrl+R).

    Ожидаемый результат: выбранный остается "Test4"
    Результат работы: выбранный элемент "Test1" и "Test5"

    Если запустить скрипт с параметром test (без динамического создания списка), то все работает нормально.

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

    Проблему выявил, но что это и почему так, непонятно.

    Код:
    Код (PHP):
    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4.   <meta charset="utf-8">
    5.   <title>Test</title>
    6. </head>
    7. <body>
    8. <form action="" name="formName" method="POST">
    9. /* тут работает неправильно */
    10.     <div id="block"></div>
    11.  
    12.     <input type="checkbox" name="field[]" value="1" checked="checked"/>Test1
    13.     <input type="checkbox" name="field[]" value="2" checked="checked"/>Test2
    14.     <input type="checkbox" name="field[]" value="3" checked="checked"/>Test3
    15.     <input type="checkbox" name="field[]" value="4"/>Test4
    16.     <input type="checkbox" name="field[]" value="5" checked="checked"/>Test5
    17.  
    18. /* если блок <div id="block"></div> тут, то работает нормально */
    19.  
    20. </form>
    21. <?php if(!isset($_GET['test'])): ?>
    22. <script type="text/javascript">
    23. document.getElementById('block').innerHTML = '<select><option value="1">111</option><option value="2">222</option></select>';
    24. </script>
    25. <?php endif; ?>
    26. </body>
    27. </html>
     
  2.  
  3. Andrey
    Offline

    Andrey Недавно здесь

    Регистрация:
    27.12.2005
    Сообщения:
    77
    Симпатии:
    4
    Пол:
    Мужской
    Причину ошибки так и не понял, но нашел как ее решить. Проблема именно в динамическом добавлении списка (select). Сделал следующее изменение:

    Код (PHP):
    1. <div id="block"><select></select></div>


    Получается список уже есть в блоке и данные чекбоксов не сбрасываются.
    Весьма загадочный случай. Может кому-то поможет )
     

Поделиться этой страницей

Загрузка...