在BS下TextBox的MultiLine为True的时候Rows和MaxLength属性是不起作用的,想到用JavaScript来控制它的行数和字数。具体代码如下:
ASPX页面代码:
<
script
type
="text/javascript"
>
function CheckLength(obj,maxLength,lines)
{
if(obj.value.length > maxLength)
{
alert('请确保文本框输入的内容最大长度为'+maxLength+'个字符,超出部分将自动截断!');
obj.value=obj.value.substring(0,maxLength-1);
}
var arr = obj.value.split("/n");
if(arr.length > lines)
{
var value="";
alert('请确保文本框输入的内容最大行数为'+lines+',超出部分将自动截断!');
for(loop=0;loop<lines;loop++)
{
if(loop != lines -1)
value=value + arr[loop] + "/n";
else
value = value + arr[loop];
}
obj.value = value;
}
}
<asp:TextBox ID="txtFirProblem" runat="server" TextMode="MultiLine" Height="230px" Rows="8"></asp:TextBox><br />
function CheckLength(obj,maxLength,lines)
{
if(obj.value.length > maxLength)
{
alert('请确保文本框输入的内容最大长度为'+maxLength+'个字符,超出部分将自动截断!');
obj.value=obj.value.substring(0,maxLength-1);
}
var arr = obj.value.split("/n");
if(arr.length > lines)
{
var value="";
alert('请确保文本框输入的内容最大行数为'+lines+',超出部分将自动截断!');
for(loop=0;loop<lines;loop++)
{
if(loop != lines -1)
value=value + arr[loop] + "/n";
else
value = value + arr[loop];
}
obj.value = value;
}
}
<asp:TextBox ID="txtFirProblem" runat="server" TextMode="MultiLine" Height="230px" Rows="8"></asp:TextBox><br />
CS代码如下:
this
.txtFirProblem.Attributes.Add(
"
onKeyDown
"
,
"
CheckLength(this,318,8);
"
);
this .txtFirProblem.Attributes.Add( " onKeyUp " , " CheckLength(this,318,8); " );
this .txtFirProblem.Attributes.Add( " onKeyUp " , " CheckLength(this,318,8); " );