ФорумПрограммированиеJavaScript → Пропадает текст в полях ввода

Пропадает текст в полях ввода

  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 6 марта 2009 г. 16:02

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

    Проблема в том, что при добавлении поля значения введенные в предыдущие поля с тем же именем исчезают:
    <input name=&quot;somefield&quot; />
    <ol id=&quot;variants&quot;>
    <li><input name=&quot;answer[0]&quot; maxlength=&quot;255&quot; /></li>
    <li><input name=&quot;answer[1]&quot; maxlength=&quot;255&quot; /></li>
    </ol>

    <button type=&quot;button&quot; id=&quot;plus_variant&quot;>Добавить вариант ответа</button>

    <script type=&quot;text/javascript&quot;>
    onload = function ()
    {
    var list = document.getElementById(&#39;variants&#39;);
    var plus = document.getElementById(&#39;plus_variant&#39;);
    plus.onclick = function ()
    {
    var count = list.getElementsByTagName(&#39;li&#39;).length;
    list.innerHTML += &#39;<li><input name=&quot;answer[&#39; + count + &#39;]&quot; maxlength=&quot;255&quot; /></li>&#39;;
    }
    }
    </script>

    В IE всё нормально (сам в шоке), в остальных (Opera, FF, Chrome) — пропадает.

    Вопросы:
    a) WTF?
    b) как быть?
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 6 марта 2009 г. 16:14, спустя 12 минут 16 секунд

    Вообщем вопрос &quot;как быть?&quot; решил — перед добавлением поля, сохраняю все предыдущие значения в массиве, потом устанавливаю обратно.
    Остался только вопрос &quot;WTF?&quot;
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 7 марта 2009 г. 4:16, спустя 12 часов 2 минуты 19 секунд

    не пробовал работать через DOM?
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 7 марта 2009 г. 4:21, спустя 4 минуты 39 секунд

    хм, да если через DOM то всё нормально
  • Barbos

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 14:54, спустя 1260 дней 9 часов 32 минуты

    просто что говорить о смысле жизни если он у каждого свой!

Пожалуйста, авторизуйтесь, чтобы написать комментарий!