Передача значения даты в fullcalendar - PullRequest
1 голос
/ 26 августа 2010

Я использую fullcalendar для загрузки дат в мою базу данных и у меня есть следующий скрипт

     $dialogContent.dialog({
        modal: true,
        title: "New Listing",
        close: function() {
           $dialogContent.dialog("destroy");
           $dialogContent.hide();
        },
        buttons: {
           save : function () {
              calEvent.id = id;
              id++;
              calEvent.start = new Date(startField.val());
              calEvent.end = new Date(endField.val());
              calEvent.title = titleField.val();
              calEvent.body = bodyField.val();

        $.ajax({


 type: "POST",
   url: "addnew.php",
   data: (
   {
   'st':new Date(startField.val()),
   'et':new Date(endField.val()),
   'title':titleField.val(),
   'body':bodyField.val()
   }
   ),

   success: function(msg){
     alert( "Data Saved: " + msg );
   }
 });

Однако мои значения даты не отправляются вообще. Это неправильно, но я не знаю, как и почему.

Ответы [ 4 ]

0 голосов
/ 31 августа 2010

Я играю с ParseDate, но я просто не получаю результатов, кажется, у меня совершенно неверная концепция;

  dayClick : function(date, allDay, jsEvent, view)  {
     var $dialogContent = $("#event_edit_container");

             y = date.getFullYear();
             m = date.getMonth();
             d = date.getDate();

             h1 = date.getHours();
             m1 = date.getMinutes();

             h2 = h1 + 1;
             m2 = m1;

             calEvent = { title: 'New Calendar Event', editable:true, distributor: '', etype: '', location: '', website: '',   start: new Date(y, m, d, h1, m1), end: new Date(y, m, d, h2, m2), allDay: false };
         $calendar.fullCalendar("renderEvent",calEvent, true);

     resetForm($dialogContent);

     var startField = $dialogContent.find("select[name='start']").val(calEvent.start);
     var endField = $dialogContent.find("select[name='end']").val(calEvent.end);
     var titleField = $dialogContent.find("input[name='title']").val(calEvent.title);
     var distributorField = $dialogContent.find("input[name='distributor']").val(calEvent.distributor);
     var etypeField = $dialogContent.find("select[name='etype']").val(calEvent.etype);
     var locationField = $dialogContent.find("input[name='location']").val(calEvent.location);
     var websiteField = $dialogContent.find("input[name='website']").val(calEvent.website);
     var bodyField = $dialogContent.find("textarea[name='body']");
     //var start_date = eval($.fullCalendar.parseDate(this_one['start']).getTime()) / 1000;



     $dialogContent.dialog({
        modal: true,
        title: "New Listing",
        close: function() {
           $dialogContent.dialog("destroy");
           $dialogContent.hide();
        },
        buttons: {
           save : function () {
              calEvent.id = id;
              id++;
              calEvent.start = $.fullCalendar.parseDate(new Date(startField.val()));
              calEvent.end = new Date(endField.val());
              calEvent.title = titleField.val();
              calEvent.distributor = distributorField.val();
              calEvent.etype = etypeField.val();
              calEvent.location = locationField.val();
              calEvent.website = websiteField.val();
              calEvent.body = bodyField.val();
              //$.fullCalendar.parseDate(calEvent.start);

              //calEvent.st = start_date.val();
              //$.fullCalendar.parseDate(startField.val());
        $.ajax({

тип: "ПОЧТА", URL: "addnew.php", данные: ( { 'Й': calEvent.start, 'et': новая дата (endField.val ()), 'Название': titleField.val (), 'Дистрибьютор': distributorField.val (), 'ETYPE': etypeField.val (), 'Место': locationField.val (), 'Сайт': websiteField.val (), 'Тело': bodyField.val () } ),

success: function (msg) { предупреждение («Данные сохранены:» + сообщение); } });

Я с кирпичной стеной, с этим я перепробовал множество вариаций hte-кода, но это всего лишь догадки. Если есть пример пропущенной или даже распечатанной даты, я был бы очень признателен, просто чтобы посмотреть, как это должно работать. В этом случае у меня не работает метод проб и ошибок. Спасибо

0 голосов
/ 27 августа 2010

Конструктор Date не анализирует старую строку даты.используйте вместо этого функцию синтаксического анализа fullCalendar (при условии, что вы используете формат ISO8061):

http://arshaw.com/fullcalendar/docs/utilities/parseDate/

0 голосов
/ 27 августа 2010

Какое значение даты вы получаете на стороне сервера?Возможно, вам следует отправить простой тип данных, такой как отметка времени UNIX или использовать .serialize () для вашей формы.

0 голосов
/ 27 августа 2010

Уже поздно, и я некоторое время не использовал Javascript, но, конечно, это input.value, а не input.val ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...