Используйте Ajax для предотвращения обновления страницы после отправки формы (имя формы неизвестно) - PullRequest
0 голосов
/ 18 мая 2018

Я использую форму ниже и хотел бы, чтобы вся страница обновлялась после выбора опции в выпадающем списке.Обратите внимание, что, похоже, у меня нет четкого названия формы.Какая команда и сценарий Ajax необходимы для этого?Я использую Jquery:

<script type ="text/javascript" src="js/jquery.1.8.3.min.js"></script>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <div id="select">
    <select name="gebiet1" onchange="this.form.submit()">

<?php
$gebietausgabe = mysqli_query($db, "SELECT DISTINCT Gebiet FROM kernfragen");
while ($row = $gebietausgabe->fetch_assoc())
{

  echo '<option value="' . $row['Gebiet'] . '">' . $row['Gebiet'] . '</option>';
}

?>

    </select>
    </div>
</form>

1 Ответ

0 голосов
/ 18 мая 2018

Сначала вы предотвращаете перезагрузку страницы с помощью preventDefault(), затем отправляете запрос на публикацию на сервер и получаете свой результат в функции done.Если что-то пойдет не так, будет выполнена функция fail.Функция always будет выполняться каждый раз, когда вы отправляете запрос.

$( "form" ).on( "submit", function( event ) {
  
  //this will prevent the page from reloading
  event.preventDefault();
  
  //send a post request to the server
  //$(this).serialize() will get all the values within your form
  //in this case it only gets the value of your select tag
  $.post( "test.php", $( this ).serialize())
    .done(function( data ) {
      alert( "Data Loaded: " + data );
    })
    .fail(function() {
      alert( "error" );
    })
    .always(function() {
      alert( "finished" );
    });
  
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...