Динамически заменить содержимое input
Мне нужно чтобы содержимое input заменялось звёздочками,не сразу а вот так ->(появилась буква-заменилась звёздочкой) но при этом
$("#field").keyup(function(event) {//нажал на кнопку
//alert(event.which);
var hidden_text = "";
for (var i = 0; i < this.value.length; i++) {
hidden_text += "*"; \\подготовил звёздочки, по кол-ву символов
}
saved_text += this.value.charAt(this.value.length-1) //сохранил последний введённый символ, для дальнейшего использования в другой части кода...
this.value = hidden_text;//заменил содержимое звёздочками
});
есть ли готовые решения, такой задачки? я гуглил, но что то ничего не нашел, вот и решил пробовать сам... кто нибудь подскажите плиз, либо как делать? либо еще что то что может пригодится) |
Цитата:
<input type="password" /> |
for (var i = 0; i < this.value.length; i++) {
hidden_text += "*"; \\подготовил звёздочки, по кол-ву символов
}
Это можно сделать проще:
var textLength = 4;
var hiddenText = Array(textLength + 1).join('*');
alert(hiddenText);
|
Цитата:
|
FirstRelict, мне вобще не понятен смысл твоего обращения. Ты показываешь код, ничего вообще не говоришь - работает он или нет, и при этом просишь какое-то "готовое решение". Чем твой код не "готов"?
|
Вот готовое решение http://alistapart.com/article/the-pr...with-passwords
|
FirstRelict,
показать текст скрытый звёздочками и заменить текст на звёздочки это не одно и тоже :-? |
Тьфу, будь автор статьи на этом форуме, я бы ему всю карму слил за код))
Вот, самое начало:
<form id="form">
<input type="text" name="input" />
<script>
form.input.oninput = function() {
var value = this.getAttribute('data-value') || '';
if (value.length < this.value.length)
this.setAttribute('data-value', value + this.value.substring(value.length));
else if (value.length > this.value.length)
this.setAttribute('data-value', value.substring(0, this.value.length));
};
form.input.onkeyup = function() {
var value = this.getAttribute('data-value');
this.value = value.replace(/./g, '*');
};
</script>
</form>
Тут на самом деле куча проблем, да и для поддержки IE8 придется делать лишние движения. Хотя... достаточно добавить обработку позиции курсора и все должно быть ок. |
Цитата:
|
| Часовой пояс GMT +3, время: 04:42. |