我做了一个简单的函数,根据从下拉列表中选择的项目的文本,文本框将更改其 maxlength 属性。
function cambiarLength(drop, textbox) {
var option = document.getElementById(drop);
var texto = option.options[option.selectedIndex].text;
var field = document.getElementById(textbox);
if (texto == 'RUC') {
field.maxLength = 3;
}
else {
field.maxLength = 6;
}
};
代码隐藏:
TipoDoc.Attributes.Add("onChange", "javascript: cambiarLength(this, txtDoc);");
错误:
0x800a1391 - JavaScript runtime error: 'txtDoc' is undefined
如果txtDoc
是字段的文字 id,则需要将其视为字符串。您还应该删除javascript:
前缀,因为这将不允许this
在您的日常工作中被识别。
TipoDoc.Attributes.Add("onChange", "cambiarLength(this, 'txtDoc');");
有关javascript:
前缀的使用,请参见此处:“javascript:”前缀何时有效?
更新
如果您使用的是 WebForms,那么您将需要使用ClientID
,例如,如果txtDoc
实际上是您的代码隐藏控件,您应该这样做:
TipoDoc.Attributes.Add("onChange", "cambiarLength(this, '" + txtDoc.ClientID +"');");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句