zoukankan      html  css  js  c++  java
  • 点击回车 按钮不执行点击事件

    原文地址:

    http://blog.csdn.net/lingxyd_0/article/details/4200985

    最近在做站内搜索,想点击回车直接执行onclick事件,死活不行。

    可是我记得,我登录页面可以直接回车执行按钮事件的呀!!!

    当然用js做 当然可以,但是我不甘心!!找呀找,终于找到原因了,很奇特。。。

    摘抄原文一段:

    为了更好的理解这个问题,假设以下情况:我们有一个页面,它包含了很多个名字从TextBox1到TextBoxN的单行TextBox和一个叫做btnSubmit的按钮,按钮的Value为Click Me!(按钮的Value就是显示在Button上面的文本)(在这里,这些名字是根据Web控件的ID号来取的)。当一个用户填好页面并在一个TextBox中点击回车键时,这个页面会被提交,同时发送回下面的字符串(包含在提交的内容中):

     
    TextBox1=Value1&TextBox2=Value2&&TextBoxN=ValueN&btnSubmit=Click Me!  
     
        Value1…ValueN是输入给TextBox1到TextBoxN的内容。
        当ASP.NET的页面被提交之后,它通过分析这个字符串能够知道这次提交是由于btnSubmit按钮控件所导致的。它会触发Web控件的Click事件,你的事件处理代码也就可以执行了。
    如果你现在只有一个单行的文本输入框,包含在提交内容中的字符串会忽略掉btnSubmit=Click Me!。也就是说如果你只包含了一个叫做TextBox1的单行输入框,你会得到下面的提交内容:

    TextBox1=Value1

    没有信息提到哪个按钮触发了这次提交,ASP.NET的服务器端不能够正确的触发按钮的Click事件。因此,如果你的页面只包含一个单行文本输入框(甚至还有另外的输入控件,例如CheckBoxList,RadioButtonList,DropDownList等等),使用InternetExplorer时,点击回车将不会触发Button控件的Click事件——其它浏览器,例如FireBox,总是会提交按钮的值与名称,即使只有一个文本输入框。
     
    解决方案:
    用户点击回车键很可能会导致页面提交但却不会触发Button控件的Click事件。不创建包含单个TextBox控件的页面就可以很简单的解决这个局限性问题。更适当的说,如果在一些情况下你只要一个TextBox,增加一个“人造”的TextBox——一个仅仅用来解决这个问题的TextBox。如上面所讨论的,你可以很简单的使用一点CSS来隐藏这些“人造”的TextBox。
  • 相关阅读:
    hdu 2001 计算两点的距离
    hdu 2001 计算两点的距离
    hdu 2000 ASCII码排序(c语言)
    hdu 2000 ASCII码排序(c语言)
    1.网页学习-开始学习第一步:
    .net 父窗口线程交给子窗口
    多线程传递多个参数
    not Exists的使用方法
    xml.dom.minidom介绍
    .net之线程控件之间访问
  • 原文地址:https://www.cnblogs.com/wuchao/p/3170658.html
Copyright © 2011-2022 走看看