jQuery - 如何在 Ajax 表单提交中添加 "or"

jQuery - How to add "or" in the Ajax form submission

我正在尝试在 ajax 表单上添加一项功能,以便能够同时使用 Submit ButtonCtrl+Enter 功能。
它的两个单独的表单,它应该保持原样,但是必须有两个事件可用于提交 ajax 表单。
这是我到目前为止所做的:

  $(document).ready(function() {
    $(".form").on('submit keydown',(function(e) {
      e.preventDefault();
      $.ajax({
        success: function(data) {
          $('.result').html('Ajax Submit');
        },
      });
    }));
  });
<input class="search1">
  <form class="form">
    <button>Submit</button>
  </form>
  <div class="result"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

鉴于您在问题下的评论中声明 input 不会放置在 form 元素内(尽管 确实 应该是,因为它的可访问性更好,而且它会在不需要 JS 干预的情况下为你解决问题),你可以通过附加一个 keyup 事件处理程序来实现你的目标input 元素并监听 CTRL+Return 和弦。

另请注意,您的 AJAX 请求需要至少包括 urldata

jQuery($ => {
  let $form = $('.form');
  let $search = $('.search1').on('keyup', e => {
    if (e.ctrlKey && e.keyCode === 13)
      $form.submit();
  });
  
  $form.on('submit', e => {
    e.preventDefault();
    console.log('making ajax request...');
    
    /*
    $.ajax({
      url: '/search',
      data: {
        term: $search.val()
      },  
      success: function(data) {
        $('.result').html('Ajax Submit');
      }
    });
    */
  });
});
<input class="search1">
<form class="form">
  <button>Submit</button>
</form>
<div class="result"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>