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

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

  • Timur

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

    Spritz 7 марта 2009 г. 0:02

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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