我想知道是否有人知道从使用
转换的最佳方法 myTextBox.TextMode = TextBoxMode.Password;
到
myTextBox.TextMode = TextBoxMode.SingleLine;
使用客户端代码和jQuery。我将不得不在焦点上执行此操作,同时删除文本框onFocus事件的整个文本内容。
答案 0 :(得分:4)
$('#idOfYourTextbox').attr('type', 'text');
但是,您无法更改IE中type="password"
字段的类型(对于无用的“安全”功能而言)。
答案 1 :(得分:1)
这些web控件呈现完全不同:带有模式SingleLine的TextBox呈现为type = text的输入元素,TextMode.Password将呈现更改为type = password的输入元素。
所以虽然在asp.net中它是一个属性,但在jquery中你必须改变属性类型:
$( 'input.someclass')ATTR( '类型', '密码');
但是存在一些安全限制。另请参阅this question。
如果您还想更改为TextMode.Multiline,则必须将input元素更改为textarea元素。
答案 2 :(得分:1)
我认为你不能。最好的办法是有两个文本框,然后在焦点上隐藏一个文本框,然后显示另一个,然后手动聚焦。
$('input:password').focus(function() {
$(this).hide();
$(this).siblings('input:text').show().focus();
});
这假设它们都在同一个容器中,并且隐藏文本框以开始。