У меня довольно простая форма. Я отправляю с помощью Ajax. Форма работает нормально. Однако, когда я пытаюсь использовать php, чтобы проверить, была ли нажата кнопка ввода, прежде чем я выполню код, он, похоже, не поднимает кнопку. Любой совет о том, что делать, было бы здорово. Я добавил образец кода ниже
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class = "Email-student" method= "post">
<input class = "form-control" type = "text" name = "Email-subject" placeholder = "Email Subject">
<textarea class = "form-control" id = "message" name = "Email-message" placeholder = "Enter messages"></textarea>
<input type = "submit" id = "btnSubmit" name = "btnSubmit" value = "Save Changes" />
</form>
<script>
$(document).ready(function(){
$('.Email-student').submit(function(e){
e.preventDefault();
var url = "mysql.php"; // the script where you handle the form input.
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(), // serializes the form's elements.
success: function(data) {
//$('.Email-student').html(data);
alert(data);
}
});
})
})
</script>
Это упрощенная версия моего файла Php
if (isset($_POST['btnSubmit'])) {
echo 'btnSubmit';
}
Ваш код будет значительно легче читать, если вы будете делать отступы последовательно.
Почему бы вам не проверить наличие if (isset($_POST['Email-subject']))?






serialize() не будет включать в форму какие-либо кнопки отправки. Они являются успешными элементами управления, только если они используются для отправки формы, а serialize():
Следовательно, isset($_POST['btnSubmit']) не будет правдой.
Используйте другой механизм, чтобы определить, есть ли данные формы, которые вас интересуют (например, наличие поля Email-subject).
Попадает ли запрос на страницу PHP?
POSTтам заселен?print_r($_POST);раньшеisset.