У меня есть форма, которая имеет два поля ввода данных jQuery и кнопку формы,
From: <input class="input-large" type="text" id="datepicker_from" name="datepicker_from">
To: <input class="input-large" type="text" id="datepicker_to" name="datepicker_to">
<a class="btn btn-primary" onclick="get_call_details(1, from_date, to_date )" >Check Availability</a>
То, что я пытаюсь сделать, это получить дату обоих полей datepicker_from
и datepicker_to
а затем щелкнуть по кнопке вызова функции формы get_call_details(1, from_date, to_date )
Проблема в том, что я не могу получить значение обоих полей даты
Ниже показано, как я пытаюсь получить значения поля даты
$("#datepicker_from").blur(function(){
var from_date = document.getElementsByName('datepicker_from').value;
alert (from_date);
});
$("#datepicker_to").blur(function(){
var to_date = document.getElementsByName('datepicker_to').value;
alert (to_date);
});
и это функция JS. Я пытаюсь передать обе даты в
function get_call_details(id, from_date, to_date) {
alert(id, from_date, to_date );
$('#dvloader').show();
$.ajax({
url: 'outlook_calendar.php',
type: 'POST',
data: {'userid': id},
success: function (data) {
$(this).parent("#availability").append(data);
$("#availability").html(data);
$('#dvloader').hide();
}
});
}
Все, что я хочу, - это получить даты обоих полей и передать их функции нажатием одной кнопки, но я не могу получить даты. Буду признателен за любую помощь.
Почему бы просто не написать все это в функцию jquery, прикрепленную к событию click:
From: <input class="input-large" type="text" id="datepicker_from" name="datepicker_from">
To: <input class="input-large" type="text" id="datepicker_to" name="datepicker_to">
<a class="btn btn-primary" id="checkavail" >Check Availability</a>
$('#checkavail').click(function(){
var from = $("#datepicker_from").datepicker('getDate');
var to = $("#datepicker_to").datepicker('getDate');
$('#dvloader').show();
$.ajax({
url: 'outlook_calendar.php',
type: 'POST',
data: {'userid': 1, 'from':from, 'to':to},
success: function (data) {
$(this).parent("#availability").append(data);
$("#availability").html(data);
$('#dvloader').hide();
}
});
Я думаю, что лучшим подходом было бы прочитать дату и время в функции get_call_details.
Function get_call_details(id)
{
from_date = $("#datepicker_from").val();
to_date = $("#datepicker_to").val();
}
GetElementsByName() возвращает массив результатов. вы должны использовать getElementById или использовать селектор jQuery $ ('# yourId'). val().