这个input框为什么不能输入数字(可以输入汉字,字母标点等)?我只是给他加了一个enter事件而已呀?

 <div class="search_xzl">
               <input class="middle_input"type="text" placeholder="请输入大厦名字..." id="xzl_input"  >
               <input class="search"type="button" value="搜索" id="search_1">
 </div>
//enter搜索
$('#xzl_input').on('keypress', function(event) {
    if (event.keyCode === 13) {
        
      $('#search_1').trigger('click');
      
  }
    return false;

});

  之所以加return false 是为了避免enter键之后触发默认的提交表单

clipboard.png

阅读 3.2k
2 个回答

因为你的表单只有一个文本输入框,在这种情况下,在文本框里键入回车默认是会提交表单的。
你需要在你的js代码中加入 event.stopPropagation(); 来阻止事件冒泡。 否则就算你写return false;也是没有效果的。

    //enter搜索
 $('#xzl_input').on('keypress', function(event) {

    event.stopPropagation();
    
    if (event.keyCode === 13) {
        $('#search_1').trigger('click');
      
     }
    return false;
});

额……可以输入数字啊,你是不是把数字键盘锁住了~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题