2010-10-05 2 views
0

У меня есть текстовое поле. Я должен ввести в него электронное письмо .. например. [email protected]формирование текстового поля

То, что я хочу, что, как только пользователь вводит полукокса «@», оставшаяся часть строки получает замаскированы так, что она, как представляется пользователю просмотр в качестве имени пользователя @* ***

Но на бэкэнде настоящие клавиши набираются, так или иначе.

Есть ли способ сделать это с помощью javascript ??

+0

Могу ли я спросить, зачем вам это? – cherouvim

+0

Возможно, вы можете добавить свою функцию для маскировки, например http://www.pengoworks.com/workshop/js/mask/ –

+1

Потому что скрытые опечатки - это забава для всех? =/ –

ответ

1

Попробуйте с JQuery

$("input").keyup(function(){ 
    var charIndex = $(this).val().indexOf("@"); 
    if(charIndex!=-1){ 
     charIndex++;  // to start with character after @ 
     $("#hidEmail").val($(this).val()); 
     var replaceStr = ""; 
     for(i=0;i< ($(this).val().length-charIndex) ; i++){ 
      replaceStr=replaceStr+"*"; 
     } 
     $(this).val($(this).val().replace($(this).val().substr(charIndex),replaceStr)); 
    } 
}); 
+0

спасибо за код. – ptamzz

+0

Можете уложить небольшой комментарий для каждой строки. Im новое для jQuery. – ptamzz

+0

Хорошо. Я это выясню .. Спасибо :) – ptamzz

2

Я понятия не имею, почему вы хотите это сделать, но вы можете добавить функцию onKeyPress в текстовое поле, которое добавляет введенное письмо в скрытое поле, а затем обновляет текстовое поле с выделенной копией.

1

Вы можете использовать событие OnKeyDown для захвата ввода пользователем.

Использование скрытого поля, сохраняйте реальную ценность там. При нажатии нового символа добавьте его в значение из скрытого поля, а в текстовом поле отобразите скрытый текст.

Также вы должны быть осторожны со специальными символами (в частности, в обратном пространстве).

Смежные вопросы