【发布时间】:2011-02-22 21:04:26
【问题描述】:
我想知道是否有人知道从使用
切换的最佳方法 myTextBox.TextMode = TextBoxMode.Password;
到
myTextBox.TextMode = TextBoxMode.SingleLine;
使用客户端代码和 jQuery。我将不得不在焦点上执行此操作,同时删除文本框 onFocus 事件的整个文本内容。
【问题讨论】:
我想知道是否有人知道从使用
切换的最佳方法 myTextBox.TextMode = TextBoxMode.Password;
到
myTextBox.TextMode = TextBoxMode.SingleLine;
使用客户端代码和 jQuery。我将不得不在焦点上执行此操作,同时删除文本框 onFocus 事件的整个文本内容。
【问题讨论】:
$('#idOfYourTextbox').attr('type', 'text');
但是,您不能在 IE 中更改 type="password" 字段的类型(对无用的“安全”功能表示欢迎)。
【讨论】:
password 转换为 text。您必须使用 .val() 检索该值,删除该元素并将其替换为新元素。
这些 web 控件呈现完全不同:模式 SingleLine 的 TextBox 呈现为 type=text 的输入元素,TextMode.Password 将呈现更改为 type=password 的输入元素。
所以虽然在 asp.net 中它是单个属性,但在 jquery 中你将不得不更改属性类型:
$('input.someclass').attr('type','password');
但是有一些安全限制。另见this question。
如果您还想更改为 TextMode.Multiline,则必须将输入元素更改为 textarea 元素。
【讨论】:
我不认为你可以。最好的办法是有两个文本框,然后将一个隐藏在焦点上并显示另一个然后手动将其聚焦。
$('input:password').focus(function() {
$(this).hide();
$(this).siblings('input:text').show().focus();
});
这假设它们都在同一个容器中,并且文本框一开始是隐藏的。
【讨论】: