Я не эксперт в JQuery / AJAX, я просто «любитель», и я стараюсь учиться на примерах и учебниках, поэтому, пожалуйста, будьте всеобъемлющими. Я создал 4-х шаговую форму html, например
<form id="msform" enctype="multipart/form-data"> <fieldset id="publish1" data-check-id="1"> //some inputs </fieldset> <fieldset id="publish2" data-check-id="2"> //some inputs </fieldset> <fieldset id="publish3" data-check-id="3"> //some inputs </fieldset> <fieldset id="publish4" data-check-id="4"> <input type="submit" class="submit action-button pull-right top-35" value="Publish"/> </fieldset> </form>
и после написания некоторой проверки JQuery в моем .js-файле, я попытался передать свои данные в php-файл через ajax. Моя функция formData
выглядит так:
<script> function formData() { var serializedValues = jQuery("#msform").serialize(); var form_data = { action: 'ajax_data', type: 'post', data: serializedValues, }; jQuery.post('mypath/insert.php', form_data); //where data should be sent return true; } </script>
Поиск вокруг Я попытался построить php-файл, получающий данные с этой структурой:
<?php if (isset($_POST['data'])) { post_things(); return true; } function post_things() { $title = trim($_POST['form_title']); // where form_title is the input[name] of what I want get, serialised into jquery serializedValues variable //other similar inputs //do something with $title and other $variables } ?>
Я инициализировал функции проверки и ajax, выполняя следующие действия:
<script> $(document).ready(function () { msform_init(); //this validate form step by step (it's working!) $('#msform').submit(function (event) { if (form_completeCheck() && true) { //This check if something empty formData(); if (formData() && true) { window.location.replace("//some redirection to success"); } else { window.location.replace("//some redirection to failure"); } } else { event.preventDefault(); } }) }) </script>
Проблема в том, что когда я нажимаю на submit, я перенаправляюсь на страницу, где URL-адрес – mypath? ALL_MY_DATA_SERIALISED. Где моя ошибка? Я не вижу этого из-за моего невежества. Является ли функция jquery / ajax, в файле php или в моем html? Спасибо заранее за вашу помощь.