2011-09-22 2 views
0

je suis en train de traduire le code de javascript pour jquery et je besoin d'un peu d'aidetraduction de javascript pour jquery

donc, j'ai ce code:

$('input[type=file]#upload_input_general_uploader').change(function(e){ 
    var browserName=navigator.appName; 
    if (browserName=="Microsoft Internet Explorer"){ 
     var myFSO = new ActiveXObject("Scripting.FileSystemObject"); 
     var filepath = document.upload.file.value; 
     var thefile = myFSO.getFile(filepath); 
     var size = thefile.size; 
    } 
} 

et j'ai essayé de traduire en jquery, qui est ce que je suis arrivé, mais qui semble ne pas fonctionner

$('input[type=file]#upload_input_general_uploader').change(function(e){ 
    $browserName=navigator.appName; 
    if ($browserName=="Microsoft Internet Explorer"){ 
     $myFSO = new ActiveXObject("Scripting.FileSystemObject"); 
     $filepath = document.$(this).val(); 
     $thefile = $myFSO.getFile($filepath); 
     $filesize = thefile.size; 
    } 
} 

par exemple pour ceux qui ont demandé pourquoi - je besoin de ce code pour être avec jquery être dynamique, je dois travailler avec $ (ce) parce que cette fonction agis ive pour quelques entrées. alors, quel est le problème ici?

+10

Vous ne traduisez pas en jquery, jquery n'est pas une autre langue, c'est javascript. Il n'y a aucun avantage à changer de code de travail pour utiliser une bibliothèque. – TJHeuvel

+1

pour continuer le message de TJHeuvel, s'il y a * un * problème, qu'essayez-vous de faire et quelle partie ne fonctionne pas. La raison d'utiliser un framework comme jQuery est de normaliser les incohérences entre les navigateurs et de faciliter les tâches de codage. – zzzzBov

+1

Le premier morceau de code utilise déjà jQuery, donc je ne comprends pas ce que vous essayez de faire. –

Répondre

1

Que diriez-vous:

$('input[type=file]#upload_input_general_uploader').change(function(e){ 
    if ($.browser.msie){ 
     var myFSO = new ActiveXObject("Scripting.FileSystemObject"); 
     var filepath = $(this).val(); 
     var thefile = myFSO.getFile(filepath); 
     var size = thefile.size; 
    } 
} 

Vous n'avez pas vraiment besoin de le traduire si vous n'avez pas besoin. Tout est javascript.

+0

cette fonction devient active par quelques entrées, donc je dois travailler avec $ (ceci), comment puis-je faire cela? –

+1

@MorSela Qu'attendez-vous de $ (this) '? –

+0

comme vous pouvez le voir $ ('input [type = fichier] .upload_input_general_uploader') c'est une entrée de fichier –

2

Commencez par cette ligne:

document.$(this).val(); 

$ est pas une propriété de document, vous obtiendrez une erreur comme TypeError: undefined_method lorsque cette ligne est exécutée.

+0

Je l'utilise toujours de cette façon, pouvez-vous expliquer ce que je dois faire et comment le réparer au travail? –

Questions connexes