2010-10-18 5 views
1

Salut les amis
Je travaille avec une application de calendrier complet, en ce que, alors que je clique dans un événement, il doit être redirigé vers une autre page et aussi afficher le données comme l'ID de l'événement, le début de l'événement, la fin de l'événement, l'ID de l'utilisateur etc. Comment puis-je faire cela dans J Query et Full CalenderComment HTTP Post/HTTP Obtenir et naviguer vers une autre page en utilisant JQuery

+1

Quand vous dites après que vous essayez vraiment faire un HTTP POST? –

Répondre

5

Je pense que vous pouvez faire quelque chose comme ceci:

$('#calendar').fullCalendar({ 
    eventClick: function(calEvent, jsEvent, view) { 
    window.location = 'page.php?' 
         + 'id=' + calEvent.id 
         + '&start=' + calEvent.start 
         + '&end=' + calEvent.end 
         + '&user_id=' + calEvent.user_id; 
    } 
}); 

FullCalendar click event

Vous pouvez utiliser cette méthode pour poster vos données:

function post_to_url(path, params, method) { 
    method = method || "post"; // Set method to post by default, if not specified. 

    // The rest of this code assumes you are not using a library. 
    // It can be made less wordy if you use one. 
    var form = document.createElement("form"); 
    form.setAttribute("method", method); 
    form.setAttribute("action", path); 

    for(var key in params) { 
    var hiddenField = document.createElement("input"); 
    hiddenField.setAttribute("type", "hidden"); 
    hiddenField.setAttribute("name", key); 
    hiddenField.setAttribute("value", params[key]); 

    form.appendChild(hiddenField); 
    } 

    document.body.appendChild(form); // Not entirely sure if this is necessary 
    form.submit(); 
} 

pris de here.

Un exemple comment l'utiliser:

$('#calendar').fullCalendar({ 
    eventClick: function(calEvent, jsEvent, view) { 
    var method = 'POST'; 
    var path = 'page.php'; 
    var params = new Array(); 
    params['event_id'] = calEvent.id; 
    params['event_start'] = calEvent.start; 
    params['event_end'] = calEvent.end; 
    params['event_user_id'] = calEvent.user_id; 
    post_to_url(path, params, method); 
    ­} 
­}); 
+0

pouvons-nous le faire en POST? –

+0

Oui, vous pouvez créer un formulaire en utilisant JQuery ou javascript et l'envoyer avec form.submit(). – codea

+0

pouvez-vous montrer un exemple de code? –

2

Lorsque vous connectez votre fullcalendar, vous devez utiliser l'événement eventClick.

$(your_calendar_selector).fullCalendar({ 
      eventClick: eventClick, 
     }); 

Ensuite, vous définissez un gestionnaire comme:

function eventClick(event) {} 

De dans cette fonction, vous pouvez faire quelque chose d'aussi simple que de la window.location.href à une autre page, en passant les valeurs dont vous avez besoin sur la querystring, ou effectuez un POST sur la nouvelle page sérialisant les données d'événement requises.

+0

Je dois le rediriger vers une nouvelle page, tout en cliquant sur un événement, il doit être redirigé. –

Questions connexes