使用jQuery更改TextBox TextMode

时间:2011-02-22 21:04:27

标签: jquery asp.net

我想知道是否有人知道从使用

转换的最佳方法
    myTextBox.TextMode = TextBoxMode.Password;

  myTextBox.TextMode = TextBoxMode.SingleLine;

使用客户端代码和jQuery。我将不得不在焦点上执行此操作,同时删除文本框onFocus事件的整个文本内容。

3 个答案:

答案 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();
});

这假设它们都在同一个容器中,并且隐藏文本框以开始。