Я пытался загрузить форму с помощью jQuery submit() и успешно перенаправил страницу на uploadAll.php, но когда я пытался получить входной массив с помощью $_POST['inputname'], я не мог получить значение.
Я пытался использовать serialize(), но не понимаю, где мне разместить ссылку на страницу PHP.
<form id = "regForm" action = "uploadAll.php" method = "post" enctype = "multipart/form-data">
//some inputs and a hidden input here
</form>
document.getElementById("regForm").submit(function() {
var inputValues = $(this).serialize();
$.ajax({
url: "uploadAll.php",
type: "POST",
data: inputValues
}).done(function(data) {
alert(data);
});
});
return false;
Могу я просто отправить без использования serialize()? Кажется, моя сериализация не работает. Любая помощь приветствуется
Какая ошибка отображается в консоли
Вы не делаете preventDefault(), чтобы остановить нормальную отправку формы
Поскольку вы не показываете нам HTML, который показал бы нам, что у вас действительно есть поле с name = "inputname", просто выполните var_dump($_POST);, чтобы увидеть, что вы фактически передаете PHP
Спасибо за помощь, Рори, Бисваджит, Риггсфолли. В консоли нет ошибки. И когда я пробую var_dump ($ _ POST), на выходе получается array (0) {}. Я думаю, проблема заключается в передаче входного значения в php, а не в самом имени входа ..



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


поверьте мне, ваш код неправильный ..
попробуйте вместо этого использовать этот код:
$("#regForm").on('submit', function(e) {
e.preventDefault();
var inputValues = $(this).serialize();
$.ajax({
url: "uploadAll.php",
type: "POST",
data: inputValues
}).done(function(data) {
alert(data);
});
});
Спасибо за помощь, Syamsoul. Я пробовал ваш код, и вывод направлен не на uploadAll.php, а только на страницу sampe с Uncaught TypeError: Cannot read property 'style' of undefined. почему вы думаете, что мой код неправильный, потому что я использую метод submit ()?
да .... метод submit () неправильный ... вы должны использовать объект jQuery для прослушивания события submit ... если вы все еще хотите использовать чистый javascript, вы должны использовать код вроде этого document.getElementById("regForm").addEventListener("submit", function(){ }); ... но если вы используете jQuery на своем сайте, лучше использовать $("#regForm").on('submit', function(e) { });
Я использовал этот код для изменения значения кнопки: <button type = "button" id = "nextBtn" class = "btn blue" onclick = "nextPrev (1)"> Next </button> и этот: if (n = = (x.length - 1)) {document.getElementById ("nextBtn"). innerHTML = "Отправить"; } еще {документ.getElementById ("nextBtn"). innerHTML = "Далее"; }. когда я снова попробовал ваш код, он обнаружил ошибку в консоли: Uncaught TypeError: Cannot read property 'style' of undefined. Думаю, я тоже проверю код оттуда
Ваш
return falseнаходится вне обработчика событий.serialize()также отлично работает, и ваша логика выглядит нормально. Трудно сказать, в чем именно заключается проблема, не видя полной логики HTML и PHP.