如何防止TextBox的Enter键 [英] How to Prevent Enter Key for TextBoxes

查看:66
本文介绍了如何防止TextBox的Enter键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想当我按下输入焦点时不要丢失当前文本框

或页面加载事件不应该调用



< pre lang =Javascript>< asp:Content ID = Content2 ContentPlaceHolderID = MainContent Runat = 服务器>
< script src = Scripts / validation.js type = text / javascript>< / script>
< script language = javascript type = text / javascript>




功能 EmpHelp(){

popup = < span class =code-sdkkeyword> window
.open(' EmpMstrHelp.aspx' null ' height = 320,width = 320, status = no,resizable = no,scrollbars = no,toolbar = no,location = center,menubar = no,top = 100,left = 300');
common = EmpHelp
return false ;

}
function EmpId(){
// alert('ss');
// return(event.keyCode!= 13);
var key = event.keyCode;
// alert(key);
if (key == 113 && key!= 13 ) {
document .getElementById(' < %= btnEmpHelp.ClientID%>')。click();
}
其他 {
// document.getElementById('<%= txtEmpId.ClientID%>')。focus(); //它也不起作用,我希望所有文本框不仅仅是特定的一个
// return;
/ / 我希望我的焦点不会丢失,如果按Enter键不应调用页面加载事件

// 返回false;
}
}


< ; /脚本>



< table>
< tr>
< td align = right style = 颜色:#000000; font-weight:bold>
< span style = 颜色:红色> * < / span > 员工ID
< span class =code-keyword>< / td >
< td align = left style = 颜色:#000000; font-weight:bold>

< asp:TextBox ID = txtEmpId runat = server Width = 50px MaxLength = 5 TabIndex = 1
AutoPostBack = < span class =code-string> True ontextchanged = txtEmpId_TextChanged> < / asp:TextBox >




< asp:图片ID = btnEmpHelp runat = server ImageUrl = 〜/ help.gif Width = 20px / >
搜索
< / td >
< / tr >





  protected   void  Page_Load( object  sender,EventArgs e)
{
if (!IsPostBack)
{
clear(); // < span class =code-comment>我的fuctn清除所有值

txtEmpId.Attributes.Add( onkeypress javascript:return alphanumeric(event);< /跨度>); // 假设我已经预先形成了一些验证

txtEmpId.Attributes.Add ( onkeydown EMPID()); // 一个弹出帮助aapers

btnEmpHelp.Attributes.Add(< span class =code-string>
onclick EmpHelp()); // 帮助按钮

}


}

protected void txtEmpId_TextChanged( object sender,EventArgs e)
{
// 让我说我的填充代码
}

解决方案

使用jquery,我们已经为你做了一些simmiler。我们有位置

 


window )。keydown( function (event){
if (event.keyCode == 13 ){
event.preventDefault();
return false ;
}
});



doucment.ready中的一堆代码行。

它基本上压制了输入。


参考:

禁用TextBox中的Enter键以避免ASP.Net中的回发 [ ^ ]


I want to when i press enter focus should not lost from current text box
or page load event should not call

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <script src="Scripts/validation.js" type="text/javascript"></script>
    <script language="javascript"  type="text/javascript">
     


       
        function EmpHelp() {

            popup = window.open('EmpMstrHelp.aspx', null, 'height=320,  width=320,status= no, resizable= no, scrollbars=no, toolbar=no,location=center,menubar=no, top=100, left=300');
            common = "EmpHelp"
            return false;

        }
        function EmpId() {
           // alert('ss');
       //  return (event.keyCode!=13);
         var key = event.keyCode;
        // alert(key);
         if (key == 113 && key != 13) {
             document.getElementById('<%=btnEmpHelp.ClientID %>').click();
         }
         else {
           //document.getElementById('<%=txtEmpId.ClientID %>').focus();//its also not working and i want for all text box not for only specific one 
             //return;
         //I Want my focus should not lost and page load event should not call if Enter pressed 
          
            // return false;
         }
        }
        
        
 </script>  
    
    
    
<table>
    <tr>
        <td align="right" style="color: #000000; font-weight: bold">
            <span style="color:Red">*</span>Employee Id
        </td>
        <td align="left" style="color: #000000; font-weight: bold">
                   
            <asp:TextBox ID="txtEmpId" runat="server" Width="50px" MaxLength="5" TabIndex="1" 
                    AutoPostBack="True" ontextchanged="txtEmpId_TextChanged"></asp:TextBox>

                
            
           
             <asp:Image ID="btnEmpHelp" runat="server" ImageUrl="~/help.gif" Width="20px" />
            Search
        </td>
    </tr>



protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            clear();//my fuctn that clear all values 
           
            txtEmpId.Attributes.Add("onkeypress", "javascript:return alphanumeric(event);"); //lets say i have preform some validations
           
            txtEmpId.Attributes.Add("onkeydown", "EmpId()"); //one pop up help aapers 
           
            btnEmpHelp.Attributes.Add("onclick", "EmpHelp()"); //that help button
           
        }

      
    }

  protected void txtEmpId_TextChanged(object sender, EventArgs e)
    {
      //lets say my Populated code
    }

解决方案

Using jquery ,we have done something simmiler to yours. we have place


(window).keydown(function(event){ if(event.keyCode == 13) { event.preventDefault(); return false; } });


bunch lines of code in doucment.ready.
it basically suppress enter.


Refer:
Disable Enter key in TextBox to avoid postback in ASP.Net[^]


这篇关于如何防止TextBox的Enter键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆