当前位置:编程学习 > C#/ASP.NET >>

求助!如何在.net中实现Iphone密码输入框的效果。输入第二个字符时第一个变成*号

如题:
刚刚才开始学习ASP.net,开发环境vs2008,用的是SQL SERVER2005
如何在.net中实现输入第二个字符时,前一个字符才变成*号。
貌似VS中没有提供这样的控件,如何实现呢。
求大神指导,最好附上代码…… --------------------编程问答-------------------- 把当前字符之前的都替换成* --------------------编程问答-------------------- 嗯?如何实现?
引用 1 楼 sandy945 的回复:
把当前字符之前的都替换成*
--------------------编程问答-------------------- 你是一点都不自己动手、不提出任何设计方案吗? --------------------编程问答-------------------- 没有,我已经尝试做了个模板,但是针对这个新功能实现一点想法也没。
无从下手的感觉。
引用 3 楼 sp1234 的回复:
你是一点都不自己动手、不提出任何设计方案吗?
--------------------编程问答-------------------- 那个功能是当前字符是可见的,有输入的时候,之前的字符变为*

跟第几个无关。

js 操作dom ,就是js操作那个文本框  有输入的时候触发

--------------------编程问答-------------------- 我这个方法也不一定好,能否这样解决:
设置一个定时器,检测Edit控件中的文本。
1. 如果有新的字符输入,则左边的所有字符设置为星号。
2. 如果没有新的字符输入,则判断是否过了一秒;如果过了一秒,字符串设置为星号。
按照这个算法写,应该可以实现。有时间的话,我会用源码证明。


引用 41 楼 benzkuai 的回复:
楼主,可否问你一个问题。
如下:
大家都知道,CEdit有两种风格:明文输入与密文输入(如“*”)。例如:输入123456.
设为明文时:输入就是123456.在编辑框中就会看到 123456.
设为密文时:输入是就只看到******.

现在的问题是:输入时要如下的效果:

当输入第一个 “1”时,“1”会以明文方式出现1秒钟,1秒钟后,变成“*”。 
此时编辑框显示过程:  1 -> *
再输入第二个 “2”时,“2”也会以明文方式出现1秒钟,1秒钟后,变成“*”。
此时编辑框显示过程:  *2 -> **
再输入第三个 “3”时,“3”也会以明文方式出现1秒钟,1秒钟后,变成“*”。
此时编辑框显示过程:  **3 -> ***

如果连续输入时,则直接将前面的变成"*",不用等1秒了。
--------------------编程问答--------------------
引用 5 楼 sandy945 的回复:
那个功能是当前字符是可见的,有输入的时候,之前的字符变为*

跟第几个无关。

js 操作dom ,就是js操作那个文本框  有输入的时候触发

我也听说了JS中有这个控件,但是我是用ASP写的。要在这个环境下加入JS? --------------------编程问答-------------------- 你应该先了解一下 什么是js,以及它能做什么 --------------------编程问答-------------------- 。。。。。。。楼主是不是觉得你用的是asp.net,然后html也需要加入? --------------------编程问答-------------------- 非常的简单,无非就是文本框事件里面,将用户输入的字符用*号replace掉,当然,必须要有一个hidden来保存用户输入的字符串
你去看一下163邮箱的登录框,他就是这么来处理的
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,