XMLSerializer пропускает значения элементов

У меня есть код Javascript, который сериализует все дерево DOM следующим образом:

(new XMLSerializer()).serializeToString(document)

Но то, что я получаю, несколько отличается от того, что я ожидал. В частности, я получаю исходный код HTML, но не значения различных вводов/выборок. Если объекты вставляются в DOM, я получаю эти объекты, но опять же без значений.

Однако, если бы я просматривал DOM в Javascript для какой-то другой цели, у меня был бы доступ ко всем входным значениям.

Что дает? Очевидно, мне не хватает какой-то очень простой концепции, но я понятия не имею, что.

Могу ли я получить полную модель DOM в виде строки в формате HTML/XML, с значениями ввода/выбора? Если да, то как?


person pktm    schedule 11.04.2011    source источник


Ответы (1)


Это связано с тем, что входные данные формы DOM поддерживают свое value свойство (которое отражает текущее состояние) отдельно от своего value атрибута (который представляет начальное значение входных данных). и используется XMLSerializer для сериализации DOM).

Я писал об этом несколько раз на Stack Overflow. Вот недавний пример: jQuery .attr('value', 'new_value' ) не работает?

person Tim Down    schedule 11.04.2011
comment
Хе. Я искренне хотел бы знать правильные условия поиска, чтобы найти это. В конце концов, мне действительно пришлось сделать oNode.setAttribute("value", oNode.value);, чтобы все заработало правильно. - person pktm; 13.04.2011