2010-07-21 5 views
4

code suivant:fonction JQuery pas trouvé

// also tried function getDeletedDates() 
var getDeletedDates = function() 
{ 
    var s = new Array(); 

    $(".deleted").each(function(i, e) { 
     s.push($(e).attr("data-day")); 
    }); 
}; 

    $(function() 
    { 
     $("#delete_send").click(function() { 
      alert("drin"); 
      $.ajax({ 
        url: "delete.php", 
        type: "POST", 
        data: ({deleteDates : getDeletedDates()}), 
        dataType: "json", 
        success: function(msg){ 
        alert(msg); 
        }, 
        beforeSend: function(){ 
         alert("Lösche folgende Urlaubstage: "+ getDeletedDates().join(", ")); 
        }, 
        error: function(x, s, e) { 
         alert("Fehler: " + s); 
        } 
       } 
      ); 
     }); 
    }); 

Mais je viens en beforeSend() il, je déclare dit toujours « non défini getDeletedDates() » Pourquoi la fonction portée mondiale?

merci d'avance.

Répondre

5

Votre fonction ne renvoie rien, donc le résultat sera indéfini. Changez la méthode pour retourner le tableau.

MISE À JOUR:

Lorsque vous getDeletedDates() il est évalué à indéfini, en raison du manque de résultat de retour. C'est pourquoi getDeletedDates() is undefined est le message d'erreur.

+0

ohh merci ce qui a contribué, mais je suis confus pourquoi il dit « getDeletedDates() est indéfini » , mais je vous remercie beaucoup! –

+0

Alors acceptez la réponse. – Cipi

+0

Voir la mise à jour pour pourquoi. –

2

Vous appelez votre fonction, mais la fonction est définie comme variable/pointeur et ne renvoie rien. La modification devrait fonctionner (non testé):

function getDeletedDates() 
{ 
    var s = new Array(); 

    $(".deleted").each(function(i, e) { 
     s.push($(e).attr("data-day")); 
    }); 

    return s; 
};