Отправка формы с использованием jquery - PullRequest
1 голос
/ 03 июля 2019

Когда я нажимаю на значок поиска, появляется предупреждение ok, но не h.

See the display

В соответствии с моими кодами ниже, он должен предупреждать как ok & h.

<?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");
});

1 Ответ

0 голосов
/ 03 июля 2019

Вы не отправляете значение search в запросе.

<input name="search" /> скрыт (поэтому не нажимается), и даже если он был видим, у него нет value для отправки в запросе.

Чтобы исправить это, удалите это input и поместите атрибуты name и value в <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");
});
...