首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery在“Enter”上提交表单只触发一次

使用jQuery在“Enter”上提交表单只触发一次
EN

Stack Overflow用户
提问于 2017-08-22 15:00:08
回答 1查看 72关注 0票数 0

我已经绞尽脑汁想了几天了。我研究过许多不同的解决方案,但我想不出这一点。

我在PHP页面中有一个简单的表单,带有文本框和搜索按钮,一旦执行搜索,输入的文本就会在文档中突出显示。

PROBLEM:在文本框中输入搜索词和CLICKing搜索之后,一切都很好。然而,当我按enter搜索时,它只会触发一次。单击搜索将继续工作,没有任何问题。

我在这里做错什么了?

代码语言:javascript
复制
$('document').ready(function() {
  $('#button').click(function() {
    var search = $('#text-search').val();
  });
  $('#text-search').keypress(function(event) {
    var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == 13) { //Enter key pressed
      $('#button').on(); //Trigger search button click event
    }
  });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="search" class="Column">
  <input name="text-search" id="text-search" type="text" size="20" maxlength="30" placeholder="search & highlight">
  <input name="searchit" id="button" type="button" value="Search" onClick="highlight()">
</div>

HTML:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-22 15:10:21

您这样做有点不对,并且给代码增加了太多开销。在没有所有这些keypress事件的情况下,您可以实现同样的目标。submit事件就足够了,它与Enter一起完美地工作!但是,您需要使用form元素包装输入,并将输入类型从button更改为submit

代码语言:javascript
复制
var searchbox = document.querySelector('#text-search')
var searchForm = document.querySelector('#search')

searchForm.addEventListener('submit', function(e) {
  e.preventDefault()
  highlight(searchbox.value)
  searchForm.reset()
})

function highlight(value) {
  // do something with your value
  alert(value)
}
代码语言:javascript
复制
<form id="search" class="Column">
  <input name="text-search" id="text-search" type="text" size="20" maxlength="30" placeholder="search & highlight" />
  <input name="searchit" id="button" type="submit" value="Search" />
</form>

如果您获得用户输入,请始终尝试使用form元素。这使您能够更好地控制输入字段。而且,它在语义上比这里和那里的孤独输入更好。尽量避免HTML中的内联javascript。这只是个糟糕的练习。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45821112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档