Profil de ZhihaiShanghai AOE Network Tec...PhotosBlogListesPlus ![]() | Aide |
|
|
28/08/2008 Javascript限制TextMode="MultiLine"的TextBox的输入长度问题:在TextMode="MultiLine"类型的TextBox中,MaxLength属性是不管用的。为了达到类似MaxLength的效果,见如下步骤:
1:创建Javascript脚本
function onEnterClick(sText,event)
{
var intlen=sText.value.length;
var eventObj=(event==null)?window.event:event;
var keyCode=(eventObj.which)?eventObj.which:eventObj.keyCode;
if(intlen>=256 && keyCode!=8 && keyCode!=13 && keyCode!=37 && keyCode!=38 && keyCode!=39 && keyCode!=40 && keyCode!=46 )
{
return false;
}
else
{
return true;
}
}
2:TextBox调用脚本
<asp:TextBox ID="txtContent" runat="server" onkeypress="javascript:return onEnterClick(this,event);" onchange="javascript:if(this.value.length>256)this.value.substr(0,256);"> Javascript执行Net后台代码需求:txtUsername,txtPassword,lbtLogin. 当用户输入用户名和密码后,按下回车[Enter]键,要执行类似点击Login按钮的效果。
注意事项:要注意IE与FireFox的不同
步骤:
1:添加Javascript
function KeyPress(e)
{
var keycode = (window.event)?window.event.keyCode:e.which;
if(keycode==13)//是否是回车键
{
if(window.event)//IE
{
e.keyCode=0;
}
else//FireFox
{
e.preventDefault();//取消事件的默认动作。例如:如果type属性是"submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。
}
__doPostBack("<%=lbtLogin.UniqueID%>","");//回调函数执行lbtLogin.Click事件
}
}
2:在txtPassword控件中引用上面脚本
<asp:TextBox ID="txtUsername" runat="server" ></asp:TextBox>
<asp:TextBox ID="txtPassword" runat="server" onkeypress="javascript:KeyPress(event);"></asp:TextBox>
<asp:LinkButton ID="lbtLogin" runat="server" >Login</LinkButton>
3:后台cs文件lbtLogin Click事件处理程序(略...)
|
|
|