#jquery #ajax
#jquery #ajax
Вопрос:
Я надеюсь, что кто-нибудь сможет помочь мне с этой проблемой, с которой я сталкиваюсь:
У меня есть вызов ajax следующим образом:
$(document).ready(function(){
$("#booking").submit(function() {
var arrival = $('#arrival').attr('value');
var departure = $('#departure').attr('value');
var ap_ID = $('#ap_ID').attr('value');
$.ajax({
type: "POST",
url: "ajax/val_booking.php",
data: "arrival=" arrival "amp;departure=" departure "amp;ap_ID=" ap_ID,
});
return false;
});
});
Все поля в html-форме имеют атрибут «name».
При отправке информации ap_ID
отправляется, но arrival
и departure
пусты (проверено с помощью Firebug).
Также используется serialize()
, но результат тот же.
Кто-нибудь знает, в чем может быть проблема или что я могу делать неправильно?
Спасибо всем за вашу помощь.
PS: я использую datepicker
Комментарии:
1. Вы пробовали
.val()
вместо.attr()
2. Я бы предложил опубликовать HTML-код для элементов прибытия и отправления.
3. Привет, Джейком, не мог бы ты быть более конкретным, пожалуйста?
4. Джейсон Маккрири. Результат тот же … пустые поля.
Ответ №1:
Попробуйте вот так:
$('#booking').submit(function() {
var arrival = $('#arrival').val()
var departure = $('#departure').val();
var ap_ID = $('#ap_ID').val();
$.ajax({
type: 'POST',
url: 'ajax/val_booking.php',
data: {
arrival: arrival,
departure: departure,
ap_ID: ap_ID
},
success: function(result) {
alert('success');
}
});
return false;
});
или, если вы хотите отправить все значения формы, вы могли бы использовать .serialize()
функцию:
$('#booking').submit(function() {
$.ajax({
type: 'POST',
url: 'ajax/val_booking.php',
data: $(this).serialize(),
success: function(result) {
alert('success');
}
});
return false;
});
Комментарии:
1. Я уже пробовал функцию .serialize раньше, но это не сработало. Я попытался воспользоваться вашим предложением, и теперь оно работает. По некоторым причинам ни одно из других предложений не работает. Большое вам спасибо.
Ответ №2:
В конце «данных» стоит запятая:прибытие=» arrival «amp;отправление=» departure «amp;ap_ID=» ap_ID,»
Уберите запятую, и все должно быть хорошо.