Я добавляю несколько элементов через document.createElement, и каждый элемент имеет несколько атрибутов. Один атрибут является идентификатором. У меня также есть функция javascipt на той же странице, которая захватывает идентификатор через document.getElementById (ID) и innerHTML. Как мне сослаться или получить правильный элемент на основе идентификатора элемента, который был создан динамически? Я использую IE 8 .. работает в Firefox :)

исал несколько Javascript, позволяющих редактировать список элементов в HTML-форме, включая добавление и удаление элементов. Получил это работает в Firefox. При попытке сделать это в Internet Explorer я обнаружил, что все добавленные элементы не отправляются вместе с формой.

Короче говоря ... много упрощений, отладок, выяснили, какая строка вызывает IE, чтобы игнорировать ввод новой формы. Так что проблема поведения решена.

Но теперь я должен спросить: почему? Это ошибка IE?

Вот упрощенный код:

<html>
<head>
    <title>Test</title>
    <script type="text/javascript">
        function add() {
            div = document.getElementById("mylist");

            // *** Adding text here works perfectly fine. ***
            div.innerHTML += " ";

            e = document.createElement("input");
            e.setAttribute("type", "text");
            e.setAttribute("name", "field3");
            e.setAttribute("value", "--NEWVALUE--");
            div.appendChild(e);

            // *** Adding text here works perfectly fine in Firefox, but for
            //     Internet Explorer it causes field3 to not be submitted. ***
            //div.innerHTML += " ";
        }
    </script>
</head>
<body>
    <form action="" method="get">
        <div id="mylist">
            <input type="text" name="field1" value="value1" />
            <input type="text" name="field2" value="value2" />
        </div>
        <a href="javascript:" onclick="add()" />Add</a>
        <input type="submit" value="Submit" />
    </form>
</body>
</html>

Чтобы попробовать это, сделайте очевидное: загрузитесь в IE, нажмите Add, нажмите Submit, посмотрите, что находится в адресной строке. Если вы раскомментируете последнюю строку вadd(), IE вдруг прекратит сообщатьfield3, В Firefox он работает в любом случае.

Есть идеи? Любопытный ум хочет знать. (И как бы добавить туда текст, если нужно, переносимым способом, чтобы IE был доволен?)

Ответы на вопрос(2)

Ваш ответ на вопрос