Трудно работать со скрытыми полями. Попробуйте этот слушатель я написал. Это сработало для меня во многих разных случаях. Я использую JQuery, но вы не должны. Этот прослушивает изменение значения, но вы можете прослушивать любой атрибут.
Допустим, у вас есть скрытый ввод с некоторым начальным значением:
<input id="change" type="hidden" value="SomeValue" />
Скрипт ниже будет проверять это значение каждые 2 ses и оповещать об изменениях:
// Set empty global var for input value
inputValue = '';
listenOnChange = function() {
// Check for new value if any
checkForNewInputValue = $('#change').val();
if (inputValue == checkForNewInputValue) {
// Check after 2 sec for change
setTimeout("listenOnChange()",2000);
} else {
// Replace with new value
inputValue = checkForNewInputValue;
// Check after 2 sec for change
setTimeout("listenOnChange()",2000);
alert('IT WORKS');
}
}
$(document).ready(
inputValue = $('#change').val(), // Set Initial Value
listenOnChange() // Start listener
);
Кнопка ниже изменит это значение. Скопируйте, вставьте и посмотрите, как это работает.
<button onclick="$('#change').val('1234566');">CHANGE</button>