Man*_*ngh 7 .net html javascript c# asp.net
我在C#中有一个textarea,请看下面的代码:
<asp:Label ID="lblQuestions" runat="server" CssClass="addinfo">
Question & Comments</asp:Label>
<asp:TextBox ID="txtQuestions" Rows="5" Columns="5" TextMode="MultiLine" runat="server" MaxLength="250"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
现在我希望textarea不应该接受超过250个字符,无论用户做什么COPY&PASTE,通过WRITING和DRAG&DROP等,如果用户尝试复制或拖放超过250个字符,那么应该在textarea中复制前250个字符.我知道TEXTAREA中没有MAXLENGTH属性.如果使用.NET无法使用javascript或Jquery的解决方案.
请帮忙
您必须为事件连接函数
onpaste、onkeyup 和 onfocus 您想要执行此操作的区域。
对于 asp 文本框,我认为您必须只考虑 OnTextChanged 事件。
对于文本区域
<INPUT id="counterMessage" readOnly size="3" value="250" name="counterMessage">
<TEXTAREA onpaste="PasteCounter(this.form.txtAreaMessage,this.form.counterMessage,250);"
id="txtAreaMessage" onkeyup="textCounter(this.form.txtAreaMessage,this.form.counterMessage,250);"
style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; OVERFLOW: hidden; BORDER-LEFT: 0px; WIDTH: 99%; BORDER-BOTTOM: 0px; HEIGHT: 95px; TEXT-ALIGN: justify"
onfocus="textCounter(this.form.txtAreaMessage,this.form.counterMessage,250);" name="txtAreaMessage"
rows="3" runat="server"></TEXTAREA>
function PasteCounter(field, countfield, maxlimit)
{
var len;
var txt = clipboardData.getData("Text");
txt = field.value + txt
len = parseInt(txt.length);
if ( len > maxlimit )
{
event.returnValue=false;
txt = txt.substring(0, maxlimit);
field.value = txt;
alert("Only " + maxlimit + " characters are allowed");
}
countfield.value = maxlimit - txt.length;
}
function textCounter(field, countfield, maxlimit)
{
if (field.value.length > maxlimit )
{
field.value = field.value.substring(0, maxlimit );
alert("Only " + maxlimit + " characters are allowed");
}
countfield.value = maxlimit - field.value.length;
}
Run Code Online (Sandbox Code Playgroud)
计数字段文本框用于显示剩余字符。
| 归档时间: |
|
| 查看次数: |
5443 次 |
| 最近记录: |