Как получить новое значение ввода HTML после того, как нажатие клавиши изменило его?
У меня есть поле ввода HTML
Я прикрепил обработчик 9X_html-dom для события 'keyup', но если я получаю текущее 9X_vanilla-javascript значение поля ввода во время обработчика 9X_webpage события, я получаю значение таким, каким 9X_span оно было, а не как будет!
Я попытался выбрать 9X_html-dom события «нажатие клавиши» и «изменить», та же проблема.
Я уверен, что 9X_vanillajs это легко решить, но в настоящее время я 9X_javascript-library думаю, что единственное решение для меня 9X_span - использовать короткий тайм-аут для запуска 9X_vanillajs некоторого кода через несколько миллисекунд 9X_dom в будущем!
Есть ли способ получить текущее значение во время этих событий?
РЕДАКТИРОВАТЬ: похоже, у меня 9X_div возникла проблема с кешированием моего js-файла, поскольку 9X_html5 я позже проверил тот же код, и он работал 9X_divs нормально. Я бы удалил вопрос, но не уверен, что 9X_divs это теряет репутацию добрых людей, которые 9X_html-tag публиковали идеи :)
Ответ #1
Ответ на вопрос: Как получить новое значение ввода HTML после того, как нажатие клавиши изменило его?
Вы можете разместить свой код? Я не нахожу 9X_vanillajs в этом никаких проблем. Протестировано в 9X_webpage Firefox 3.01 / safari 3.1.2 с:
function showMe(e) {
// i am spammy!
alert(e.value);
}
....
- Я пришел домой, проверил свой код без подрывной деятельности, и он работал нормально. Я думаю, у меня, должно быть, была проблема с кеширов ...
Ответ #2
Ответ на вопрос: Как получить новое значение ввода HTML после того, как нажатие клавиши изменило его?
Чтобы дать современный подход к этому вопросу. Это 9X_ecmascript хорошо работает, включая Ctrl + v . GlobalEventHandlers.oninput.
var onChange = function(evt) {
console.info(this.value);
// or
console.info(evt.target.value);
};
var input = document.getElementById('some-id');
input.addEventListener('input', onChange, false);
Ответ #3
Ответ на вопрос: Как получить новое значение ввода HTML после того, как нажатие клавиши изменило его?
Существует два типа входных значений: свойство поля 9X_javascript-library и html атрибут поля.
Если вы используете событие 9X_javascript keyup и field.value, вы должны получить 9X_vanilla-javascript текущее значение поля. Это не тот случай, когда 9X_javascript-library вы используете field.getAttribute ('value'), который 9X_div возвращает то, что находится в атрибуте 9X_webpage html (value = ""). Свойство представляет 9X_javascript то, что было введено в поле, и изменяется 9X_js по мере ввода, в то время как атрибут не 9X_html-dom изменяется автоматически (вы можете изменить 9X_html его с помощью метода field.setAttribute).
Ответ #4
Ответ на вопрос: Как получить новое значение ввода HTML после того, как нажатие клавиши изменило его?
Похоже, вы можете использовать onkeyup для 9X_html получения нового значения элемента управления 9X_javascript вводом HTML. Надеюсь, это поможет.
Ответ #5
Ответ на вопрос: Как получить новое значение ввода HTML после того, как нажатие клавиши изменило его?
Here - это таблица различных событий и уровней 9X_html-tag поддержки браузера. Вам нужно выбрать событие, которое 9X_vanillajs поддерживается, по крайней мере, всеми современными 9X_span браузерами.
Как видно из таблицы, события 9X_span keypress
и change
не имеют единой поддержки, тогда как 9X_div событие keyup
имеет.
Также убедитесь, что вы прикрепили 9X_vanillajs обработчик событий с помощью кроссбраузерно 9X_span совместимого метода ...
Ответ #6
Ответ на вопрос: Как получить новое значение ввода HTML после того, как нажатие клавиши изменило его?
Вы можете попробовать этот код (требуется 9X_div jQuery):
-
7
-
13
-
11
-
26
-
31
-
17
-
2
-
13
-
12
-
13
-
26
-
7
-
6
-
9
-
2
-
11
-
5
-
2
-
17
-
24
-
3
-
4
-
13
-
6
-
2
-
6
-
2
-
8
-
3
-
12
-
18
-
7
-
3
-
2
-
5
-
7
-
4
-
2
-
8
-
12
-
3
-
3
-
10
-
2
-
1
-
3
-
1
-
7
-
5
-
3