JS无法抓取输入框的回车事件故障

今天调试了一个页面,一直JS抓不到回车事件,我采用的是MVC3 架构开发,一直很纳闷,源码如下:

<form method="get"  id="stopform" target="_blank">
            <div class="sForm">
              <div class="sBar">
                <div class="channelSelect"> <a class="curChannel" href="javascript:void(0)">图书</a>
                  <ul>
                    <li><a href="javascript:void(0)" onclick="SetAction(3);">图书</a></li>
                    <li><a href="javascript:void(0)" onclick="SetAction(2);">视频</a></li>
                    <li><a href="javascript:void(0)" onclick="SetAction(4);">活动</a></li>   
                  </ul>
                </div>
                <input class="sTxt" type="text" maxlength="20" onkeydown="pushEnter()" style=" border-style:solid"/>
                <input type="button" class="sBtn" value="搜 索"/>
              </div>
            </div>
      </form>

js:

function pushEnter()
    {
        if (event.keyCode == 13) {
            if (event.keyCode == 13) {
                var keyword = $(".sTxt").val();
                var type = $(".channelSelect .curChannel").html();
                if (keyword == "" || keyword == null) {
                    alert("请输入关键字");
                    return;
                }
                if (isDangerous(keyword)) {
                    alert("搜索词包含危险字符!");
                    return;
                }
                if (type == "图书")
                    //动作1
else if (type == "视频") //动作2
else if (type == "活动") //动作3
} } }

 每次回车都没有没有进入if (event.keyCode == 13) {这个判断,而且浏览器还自动跳转到一个新的页面(原来的页面)。

解决方案:

去掉原来的<form>标签,就是这个form标签搞的鬼。

还有一种判断回车的方法:

 $(document).ready(function () {
            $(document).keyup(function (event) {
                if (event.keyCode == '13') {
                    var keyword = $(".sTxt").val();
                    if (keyword == "" || keyword == null) {
                        alert("请输入搜索关键字");
                        return;
                    }
                    if (isDangerous(keyword)) {
                        alert("搜索词包含危险字符!");
                        return;
                    }
                    if (keyword.length >20) {
                        alert("搜索的字符过长,请简化搜索字符");
                        return;
                    }
                    location.href = "/Video/SearchPage?keyword=" + keyword + "&&pageIndex=" + 1 + "&&condition=" + $(".curChannel").html();
                   
                }
            });
        });

 html:

<input class="sTxt" type="text" name="sw" maxlength="20"  style=" border-style:solid"/>
            <input type="button" class="sBtn" value="搜 索"/>

转载于:https://www.cnblogs.com/AWalf/p/3146078.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值