使用 jquery 提交表单

Submitting the form using jquery

当我单击搜索图标时,它会提示 ok,但不会提示 h

根据我下面的代码,它应该同时提醒 okh

<?php if(isset($_POST['search'])){ 
  echo "<script type='text/javascript'>alert('h');</script>"; 
} ?>
<form method="post">
  <div class="col_1">
    <select name="search_type" required="">
      <option value="0">Anywhere</option>
      <option value="1">Start With</option>
      <option value="2">End With</option>
    </select>
  </div>
  <div class="col_2">
    <input type="number" name="search_q" data-type="num" maxlength="10" placeholder="Digit" required="">
  </div>
  <div class="col_3">
    <input type="submit" name="search" id="input_submit" hidden />
    <button type="submit" id="button_submit"><i class="fa fa-search"></i></button>
  </div>
</form>
$('#button_submit').click(function() {
  $('#input_submit').click();
  alert("ok");
});

您没有在请求中发送 search 值。

<input name="search" /> 是隐藏的(因此不会被点击),即使它是可见的,也没有 value 可以发送请求。

要解决此问题,请删除 input 并将 namevalue 属性改为 <button>

<?php if(isset($_POST['search']))
{ 
  echo "<script type='text/javascript'>console.log('h');</script>"; 
} ?>

<form method="post">
  <div class="col_1">
    <select name="search_type" required="">
      <option value="0">Anywhere</option>
      <option value="1">Start With</option>
      <option value="2">End With</option>
    </select>
  </div>
  <div class="col_2">
    <input type="number" name="search_q" data-type="num" maxlength="10" placeholder="Digit" required="">
  </div>
  <div class="col_3">
    <button type="submit" id="button_submit" name="search" value="foobar">
      <i class="fa fa-search"></i>
    </button>
  </div>
</form>
$('#button_submit').click(function() {
  $('#input_submit').click();
  console.log("ok");
});