(Javascript)我怎么能在文本框中只显示1个字符?

时间:2011-11-11 21:34:27

标签: javascript input character encode

我只想使用简单的HTML 文本框 <input type="text" />作为密码框(<input type="password" />)。左右显示*或{{对于我在里面输入的每一个字符都是1}}。

“密码”框提供用户记住值。我只是不想要它。我的意思是,我使用的不是内部密码。只需正常输入值,但需要隐藏从周围环境中看到的所有输入。所以,不希望浏览器要求记住

中的值

2 个答案:

答案 0 :(得分:1)

您可以手动捕捉键盘事件并用“*”替换字符。如果您想稍后使用它,您仍然需要将原始输入保存在某处。

我在这里做了一个jsfiddle:http://jsfiddle.net/EPRp4/

实际上代码很短,所以我要在这里发布:

$(document).ready(function(){
    var placeholder = "";

    $('input').keyup(function(){
        placeholder = $(this).val().replace(/./g,"*")
        $(this).val(placeholder);
    })    
})

答案 1 :(得分:0)

我相信每个人都错过了原始点请求:TEXTBOX作为输入类型密码。

4lvin,即使你没有能够在社区留下的评论的答案中表达你真正的强硬态度,我相信你要么想要一些魔法,要么你想要你在原始请求中提出的要求:TEXTBOX的功能输入密码。

您必须拦截用户的每次击键,将其存储在“原始”字符串上,并在文本框中显示“相同大小”的标记(或带星号)字符串。

这不是不可能的。看看onKeyPress()并从那里开始。祝你好运!

顺便说一句,您可以重新发送轮子,并为常规输入类型文本执行相同操作。

编辑:好吧,无论用户类型(或单个 - 最后一个字符),您只想显示一个单星。按照指示进行操作(onKeyPress())并从那里构建。