2009-12-02 8 views
4

Bon, je ne peux pas poster tout le code car c'est inutile. Mais voici le problème.jquery uploadify

J'ai une boîte de dialogue à onglets (ui.tabs) qui contient un formulaire de téléchargement pour télécharger des fichiers. Cependant, sur un onglet précédent, je vérifie l'état d'un radiobutton pour déterminer s'il faut autoriser uniquement les fichiers image ou les fichiers flash.

J'initialisé Uploadify en tant que telle avance, dans $ (document) .ready:

$("#uploadify").uploadify({params}); 

... y compris les paramètres 'fileDesc' et 'fileExt'. En soi, cela fonctionne bien. Mais une fois qu'il a été initialisé, je souhaite modifier les paramètres à l'aide:

$("#uploadify").uploadifySettings('fileDesc','blah blah'); 
$("#uploadify").uploadifySettings('fileExt','.ext'); 

... mais quand je fais ça, Firebug Becs les éléments suivants:

document.getElementById (a (ce) .attr ("id") + "Uploader"). updateSettings est pas une fonction http://localhost/projectname/Javascript/jquery.uploadify.v2.1.0.min.js ligne 26

maintenant, évidemment, il n'y a rien de mal à UPL oadify lui-même, mais je peux être une nouille totale ici. Est-ce que cela se produit parce qu'il pense que '#uploadify' n'a pas encore été initialisé?

Répondre

-1

Essayez

$("#uploadify").uploadifySettings({fileDesc: 'blah blah', fileExt: '.ext'}); 
+0

Une réponse juste, mais c'est ce que j'ai essayé la première fois - quand cela n'a pas fonctionné, je l'ai simplifié dans le code mentionné ci-dessus. Je reçois toujours l'erreur 'updateSettings n'est pas une fonction'. : \ – David

0

Vous présumez que #uploadify n'a pas encore été initialisée. Avez-vous mis votre code uplaodify dans

$(document).ready(function() { ... });

?

+0

Encore une chose: les scripts swf placés sur le serveur sont-ils accessibles? Pas sûr, mais il semble que uploadify les intègre dynamiquement dans la page ... – igorp1024

+0

Je l'ai fait, comme mentionné ci-dessus, il est assis sur localhost, j'ai accès au script (ça fonctionne très bien sur son propre, je ne peux pas semble changer les paramètres avec uploadifySettings.Je ne sais pas ... Oui, il est dans document.ready – David

+0

D'accord, il ne répond pas vraiment à la question, donc je suis toujours ouvert à une réponse. Mais pour que cela fonctionne, j'ai simplement ré-initialisé le tout en cliquant sur les boutons radio, simplement pour le faire fonctionner, ce qui n'est PAS une solution idéale, donc je suis toujours ouvert aux idées de avoir le bon ... – David

1

Je suis aux prises avec le même problème. Quelqu'un de plus sur les forums de Sendify pense qu'il s'agit d'un bug lié à la situation où l'élément parent affichait le style: none.

http://www.uploadify.com/forum/viewtopic.php?f=7&t=2163

+0

qui pourrait très bien être le problème ... bien que je ne vais pas essayer de le 'réparer' alors que ça marche, j'ai mis le signet pour référence future. :) – David

+0

Lien brisé, s'il vous plaît ne pas casser l'Internet ;-) –

3

Vous devriez voir accepté réponse this thread. La clé consiste à appeler le gestionnaire de démarrage de téléchargement interne $("#uploadify").uploadifySettings(); ou le gestionnaire de soumission de formulaire.

Dans l'ensemble, le code js devrait ressembler à ceci:

jQuery(function($){ 

    //make uploadify 
    $("#uploadify").uploadify({params}); 

    //handle form submit 
    $("#form").submit(function(e){ 
    //prefent form submit 
    e.preventDefault(); 

    //change the uploadify setting, ex. scriptData 
    $("#uploadify").uploadifySettings("scriptData", {'file_id': '345'}); 

    //start upload 
    $("#uploadify").uploadifyUpload(); 

    }); 
}); 

Ce travail de code pour moi, je l'espère travailler dans votre cas. La soumission de formulaire peut être remplacée par une autre fonction, comme dans la fonction startUpload qui existe dans l'exemple de script de uploadify website.

0

J'ai reçu cette erreur lors de l'utilisation de Uploadify dans une boîte de dialogue jquery.

La solution était d'initialiser Uploadify après la création de la boîte de dialogue.

0

IE peut mettre en cache le fichier uploadify.swf et, pour une raison quelconque, provoquer un échec pour certains utilisateurs.Dans la configuration de la configuration Uploadify, modifier l'URL "Uploader" d'inclure une valeur unique dans la chaîne de requête pour empêcher la mise en cache:

'Uploader': '/Content/uploadify.swf?nocache=' + new Date () .getTime()

Cela a résolu le problème pour moi.