c# - Error: 'keyCode' is null or not an object - Stack Overflow

I am getting this error when i run this function<script language="javascript" type="t

I am getting this error when i run this function

<script language="javascript" type="text/javascript">
        //function for check digit
    function check_no(e)
         {
             if (!((e.keyCode >= 48) && (e.keyCode <= 53)))
             {
                 alert("Solo valores entre 0 y 5 pueden ser ingresados");
                 e.keyCode = 0;
             }
         }
</script>

I call the function in my load page in c#

foreach (GridViewRow grdrow in DGPlanilla.Rows)
                {
                    TextBox tb1 = (TextBox)grdrow.FindControl("TextBox1");
                    if (tb1 != null)
                    {
                        tb1.Attributes.Add("Onkeypress", "check_no()");
                    }

                }

I am getting this error when i run this function

<script language="javascript" type="text/javascript">
        //function for check digit
    function check_no(e)
         {
             if (!((e.keyCode >= 48) && (e.keyCode <= 53)))
             {
                 alert("Solo valores entre 0 y 5 pueden ser ingresados");
                 e.keyCode = 0;
             }
         }
</script>

I call the function in my load page in c#

foreach (GridViewRow grdrow in DGPlanilla.Rows)
                {
                    TextBox tb1 = (TextBox)grdrow.FindControl("TextBox1");
                    if (tb1 != null)
                    {
                        tb1.Attributes.Add("Onkeypress", "check_no()");
                    }

                }
Share Improve this question edited Jul 9, 2009 at 23:03 Steve Harrison 126k17 gold badges89 silver badges72 bronze badges asked Jul 9, 2009 at 22:48 Gilberto MunozGilberto Munoz
Add a ment  | 

2 Answers 2

Reset to default 5

The problem with the snippet you've pasted, is that the javascript function expects a single argument e, which you've not supplied. Your e actually needs to be the window.event property for this call to work.

You have two options. Either rewrite your function to be:

function check_no() { 
  if (!((window.event.keyCode >= 48) ... some other stuff
}

OR, rewrite the calling code to be

foreach (GridViewRow grdrow in DGPlanilla.Rows) 
{ 
  TextBox tb1 = (TextBox)grdrow.FindControl("TextBox1"); 
  if (tb1 != null) { tb1.Attributes.Add("Onkeypress", "check_no(window.event)"); 
}

You are expecting e to be passed into the function, which it will in FireFox et al. but not in IE. You need to normalize your event object.

function check_no(e) {
    e = e || window.event;
    if (!(e.keyCode >= 48) {
     ... some other stuff
    }
}

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745290901a4620851.html

相关推荐

  • c# - Error: &#39;keyCode&#39; is null or not an object - Stack Overflow

    I am getting this error when i run this function<script language="javascript" type="t

    4小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信