zoukankan      html  css  js  c++  java
  • jsp 回车代替tab 自动切换text焦点

    方法一keyCode = 9(IE11以后失效)

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>用回车来进行切换功能</title>
    <script language="javascript">
        function check() {
            //keyCode是event事件的属性,对应键盘上的按键,回车键是13,tab键是9,其它的如果不知道 ,查keyCode大全
            if (event.keyCode == 13 && event.srcElement.type == "text") {
                //srcElement是触发事件的对象,type意思是什么类型
                window.event.keyCode = 9;
            }
        }
        document.onkeydown = check;
    </script>
    </head>
    
    <body>
        <input name="" type="text" />
        <input name="" type="text" />
        <input name="" type="text" />
        <input name="" type="text" />
        <input name="" type="text" />
        <input name="" type="text" />
        <input type="button" />
        <input type="password" />
    </body>
    </html>

    方法二 body onkeydown  (IE11以后失效)

    <body onkeydown="if(window.event.keyCode==13){ window.event.keyCode=9}">
    <input id="txtCode" type="text" />
    <input id="txtCode2" type="text" />
    </body>

    方法三 name onKeyPress focus,有效果,繁琐不灵活

    <script type="text/javascript">
        function Myenter(str) {
            if (event.keyCode == 13) {
                str.focus();
            }
        }
    </script>
    
        <input name="id" type="text" onKeyPress="Myenter(aname)">    
        <input name="aname" type="text" onKeyPress="Myenter(asex)" />
        <input name="asex" type="text" />

     方法四 name onkeypress handleEnter有效果,必须在form

    <script type="text/javascript">
        function handleEnter(field, event) {
            var keyCode = event.keyCode ? event.keyCode : event.which ? event.which
                    : event.charCode;
            if (keyCode == 13) {
                var i;
                for (i = 0; i < field.form.elements.length; i++)
                    if (field == field.form.elements[i])
                        break;
                i = (i + 1) % field.form.elements.length;
                field.form.elements[i].focus();
                return false;
            } else
                return true;
        }
    </script>
    <form action="">
        <input name="" type="text" onkeypress="return handleEnter(this, event)"/>
        <input name="" type="text" onkeypress="return handleEnter(this, event)"/>
        <input name="" type="text" onkeypress="return handleEnter(this, event)"/>
        <input name="" type="text" onkeypress="return handleEnter(this, event)"/>
        <input name="" type="text" onkeypress="return handleEnter(this, event)"/>
        <input name="" type="text" onkeypress="return handleEnter(this, event)"/>
    
        </form>

      方法五 jquery 未测到效果

    $(function() {
    $("form[name='articleForm'] input:text").keypress(function(e) {
    if (e.which == 13) // 判断所按是否回车键
    {
    var inputs = $("form[name='articleForm']").find(":text"); // 获取表单中的所有输入框
    var idx = inputs.index(this); // 获取当前焦点输入框所处的位置
    if (idx == inputs.length - 1) // 判断是否是最后一个输入框
    {
    if (confirm("最后一个输入框已经输入,是否提交?")) // 用户确认
    $("form[name='articleForm']").submit(); // 提交表单
    } else {
    inputs[idx + 1].focus(); // 设置焦点
    inputs[idx + 1].select(); // 选中文字
    }
    return false;// 取消默认的提交行为
    }
    });
    });

     方法六 jquery 未测到效果

      <script type="text/javascript">
            jQuery(function () {
                jQuery('input:text:first').focus();
                var $inp = jQuery('input:text');
                $inp.bind('keydown', function (e) {
                    var key = e.which;
                    if (key == 13) {
                        e.preventDefault();
                        var nxtIdx = $inp.index(this) + 1;
                        jQuery(":input:text:eq(" + nxtIdx + ")").focus();
                    }
                });
            });    
        </script>
  • 相关阅读:
    解决:Could not resolve archetype org.apache.maven.archetypes
    Spring MVC配置MyBatis输出SQL
    Spring集成MyBatis 通用Mapper以及 pagehelper分页插件
    关于SpringMVC或Struts2接受参数接收不到的原因
    配置quartz启动时就执行一次
    ajaxFileUpload进行文件上传时,总是进入error
    spring mvc注入配置文件里的属性
    java中将一个文件夹下所有的文件压缩成一个文件
    flume failed to start agent because dependencies were not found in classpath
    ubuntu不能安装pip unable to install pip in unbuntu
  • 原文地址:https://www.cnblogs.com/cb168/p/4213248.html
Copyright © 2011-2022 走看看