Я не уверен, что случилось с моим кодом, но мой AJAX не работает. Я включил файл библиотеки jQuery, но программа просто не загрузит файл PHP при вызове AJAX. Как вы увидите ниже, вызов .ajax имеет URL-адрес «mail.php», но при отправке этот файл никогда не загружается. Я могу вручную назвать тег действия для формы «mail.php», но это просто загружает «mail.php», который побеждает точку AJAX. Что я делаю не так?AJAX не применяется к форме
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<form method="post" name="myForm" action="tac.php">
<label>Name:</label> <br />
<input name="sender">
<br /> <br />
<label>Email address:</label><br />
<input name="senderEmail">
<br />
<label>Message:</label> <br />
<textarea rows="5" cols="20" name="message"></textarea>
<br /> <br />
<input type="submit" name="submit">
</form>
<script>
$(document).ready(function() {
$("#myForm").submit(function() {
var roy = new Object();
roy.sender = $('#sender').val();
roy.senderEmail = $('#senderEmail').val();
roy.message = $('#message').val();
var jo = JSON.stringify(roy);
$.ajax({
type: "POST",
url: "mail.php",
data: {roy: jo},
success: function(msg){
alert(msg);
}
});
return false;
});
});
</script>
'действие = "tac.php" и' URL: "mail.php" ' - конфликт? –
откройте консоль с помощью клавиши F12 и посмотрите, какую ошибку вы получаете, если таковые имеются. –
@ Fred-ii-. Предполагается, что .ajax переопределяет URL-адрес формы, и даже если я изменю «tac.php» на «tac.php», mail.php ", он по-прежнему не обрабатывает форму за кулисами, как предполагается AJAX. –