我想知道,如果有人知道使用的客户端代码和jQuery使用的更改文本框的TextMode与jQuery
myTextBox.TextMode = TextBoxMode.Password;
切换到
myTextBox.TextMode = TextBoxMode.SingleLine;
的最佳途径。我将不得不在焦点上做,同时删除文本框onFocus事件的整个文本内容。
我想知道,如果有人知道使用的客户端代码和jQuery使用的更改文本框的TextMode与jQuery
myTextBox.TextMode = TextBoxMode.Password;
切换到
myTextBox.TextMode = TextBoxMode.SingleLine;
的最佳途径。我将不得不在焦点上做,同时删除文本框onFocus事件的整个文本内容。
$('#idOfYourTextbox').attr('type', 'text');
但是,您不能变化type="password"
领域的IE类型(耶无用的“安全”功能)。
这些webcontrols渲染完全不同:带有模式SingleLine的TextBox呈现为type = text的输入元素,TextMode.Password将呈现更改为type = password的输入元素。
所以,虽然在asp.net它是一个单一的财产,在jQuery中你将不得不更改属性类型:
$( 'input.someclass')ATTR( '型','密码“);
然而存在一些安全限制。另见this question。
如果您还想更改为TextMode.Multiline,则必须将输入元素更改为textarea元素。
我不认为你可以。最好的办法是有两个文本框,然后隐藏一个焦点并显示另一个,然后手动对焦。
$('input:password').focus(function() {
$(this).hide();
$(this).siblings('input:text').show().focus();
});
这里假定它们都在同一个容器中并且文本框被隐藏起始。
这很好,因为我不需要从密码切换到文本,只需从密码切换到文本一次。所以听起来像它会工作... – dexter 2011-02-22 21:12:53
我得到的类型属性不能改变异常从jQuery框架。有任何想法吗? – dexter 2011-02-22 21:32:01
正如我所说的,你不能在IE中将'password'转换为'text'。您必须使用'.val()'检索该值,删除该元素并将其替换为新元素。 – ThiefMaster 2011-02-22 22:58:15