Я использую mootools для переключения отображения (и существования) двух элементов DOM в одной из моих форм. Затем я использую javascript для проверки формы, чтобы убедиться, что все обязательные поля были заполнены. Проблема в том, что браузер, кажется, кэширует элементы. Например, у меня есть HTML, как это:
<input name="inputbox" id="inputbox" type="text" />
<select name="selection" id="selection">...</select>
И JavaScript для проверки выглядит примерно так:
if (form.inputbox != null && form.inputbox.value == "") {
//don't submit form
{
else if (form.selection != null && form.selection.value == 0) {
//don't submit form
}
Теперь это работает нормально, когда страница загружается впервые и элемент input
удален. Однако, когда я нажимаю кнопку, которая заменяет элемент input
элементом select
, с этого момента form.inputbox
и form.selection
в коде javascript содержат соответствующий элемент, каким он был в своем последнем состоянии в DOM - даже если его больше нет в DOM. Таким образом, javascript кеширует DOM и не обновляет элементы, когда они удаляются из DOM? Что здесь происходит, и, что более важно, как мне исправить это?
Редактировать: я использую mootools для удаления и замены элементов, документацию для соответствующих функций можно найти здесь и здесь .