#jquery #keypress
#jquery #нажатие клавиши
Вопрос:
Я использую этот код, но событие нажатия клавиши не работает
<script type="text/javascript">
$(document).ready(function() {
$('#txt_tempusername').keypress(function() {
var href = $('#providerurl').val();
href = href.toString().replace("{username}", $('#txt_tempusername').val());
$('#btn_idgo').attr('href', href);
});
});
</script>
и это мой HTML
<div class="Input_Div">
<input type="text" id="txt_tempusername" />
<a class='example1demo' id="btn_idgo">Goamp;</a>
<input type="hidden" id="providerurl" />
</div>
Комментарии:
1. не могли бы вы, пожалуйста, поделиться HTML-кодом? Попробуйте оповещение при нажатии клавиши и убедитесь, что у вас есть входные данные с идентификатором
txt_tempusername
Ответ №1:
Рабочий пример здесь:
http://jsfiddle.net/ezmilhouse/6zfw8/2 /
Думаю, события работали нормально, но ваша обработка ‘href’ не сработала, потому что значение скрытых полей не было определено.
Исправил ваш код так, как, я думаю, вы хотели, чтобы он работал:
ваш html:
<div class="Input_Div">
<input type="text" id="txt_tempusername" />
<a class='example1demo' id="btn_idgo">Go!</a>
<input type="hidden" id="providerurl" value="http://provider-url-{username}.html" />
</div>
ваш js:
$(document).ready(function() {
$('#txt_tempusername').keyup(function() {
var href = $('#providerurl').val().replace("{username}", $(this).val());
$('#btn_idgo').attr('href', href);
});
});
Комментарии:
1. кстати, изменено на событие нажатия клавиши, более надежное в этом случае использования
Ответ №2:
Поместите
`alert("foo");`
войдите в функцию и посмотрите, появится ли окно сообщения. Если вы его не получите, элемент с идентификатором txt_tempusername
не существует.