2010-08-05 6 views
0

J'insère des événements dans une table mysql en utilisant le widget Interface de dialogue de jQuery, et je suis coincé avec une seule insertion par dayClick. Pour insérer un autre événement, je dois rafraîchir la page:/Le code dayclick fullcalendar se déclenche une seule fois: qu'est-ce que je fais de mal?

Voici le code `dayClick: fonction (date, ALLDAY, JSEvénement, vue) {

 if (view.name=='month') { 
$('#calendar').fullCalendar('changeView', 'agendaWeek'); 

} 
else { 

     // change the day's background color just for fun 
     $(this).css('background-color', 'red'); 
$("#dialog-form #pdal").val($.fullCalendar.formatDate(date, 'yyyy-MM-dd')); 
$("#dialog-form #pdalle").val($.fullCalendar.formatDate(date, 'HH:mm')).attr("value",$.fullCalendar.formatDate(date, 'HH:mm')); 
$("#dialog-form #palle option[value='"+$.fullCalendar.formatDate(date, 'HH:mm')+"']").attr("selected","selected"); 
$('#dialog-form #risorsa').val("0"); 
$('#dialog-form #CheckboxGroup1_0').attr("checked","checked").val($.fullCalendar.formatDate(date, 'yyyy-MM-dd')); 
$('#dialog-form #CheckboxGroup1_0').after($.fullCalendar.formatDate(date, 'yyyy-MM-dd')); 
$('#dialog-form').dialog('open'); 


}//else 

    }` 

Je sais qu'il est un peu grossier, et il serait Mieux vaut fermer le dialogue sur l'insertion réussie dans ce bloc de code, mais cela fonctionne, pour l'instant, plus ou moins.

L'insertion réelle est appelée via le bouton Dialogue. Voici le code:.

`$ ("# dialogue de forme") dialogue ({ Autoopen: false, hauteur: 900, largeur: 860, modal: true, beforeclose: $ (" # forme sous forme de dialogue ") clearForm(), boutons: { 'Inserisci lezione': function() {

allFields.removeClass('ui-state-error'); 

$.post("smfn_set_event.php", { idaula:$("#dialog-form #idaula").val(), dal:$("#dialog-form #pdal").val(), dalle:$("#dialog-form #pdalle").val(), alle:$("#dialog-form #palle").val(), idutente:$("#dialog-form #idutente").val(), motivo:$("#dialog-form #motivo").val(), nota:$("#dialog-form #nota").val() }, 
fonction

(de datainsert) { alerte (" Msg retour: "+ datainsert); }); $ ('# calendar'). FullCalendar ('refetchEvents'); $ ('# calendar'). FullCalendar ('render'); $ (this) .dialog ('détruire'); $ (this) .dialog ('close'); Les bits clearForm et destroy sont une tentative de ne pas remplir les champs de formulaire avec les dernières valeurs entrées. Malheureusement, le dialogue ne s'ouvre plus.

Y at-il quelque chose d'anormal dans ce code?

Merci.

Répondre

0
$(this).dialog('destroy') 

Ainsi, lorsque vous essayez

$('#dialog-form').dialog('open'); 

après détruire - rien ne se passe. Vous devriez seulement fermer la boîte de dialogue après l'insertion.