2012-01-25 7 views
1

Lors de la soumission d'un formulaire avec javascript avec l'événement onchange chrome et ff travail mais pas. La console de dev pour IE affiche:IE javascript formulaire soumettre ne fonctionnera pas

SCRIPT5: Access is denied. 
jquery-1.7.1.js, line 3175 character 6 

Exemple: http://jsfiddle.net/7ru3M/4/

EDIT: exemple mis à jour. Cela fonctionne si vous utilisez le formulaire directement mais pas si vous utilisez le lien que j'ai créé pour sélectionner le fichier.

EDIT 2: http://jsfiddle.net/v84eh/3/ en utilisant seulement javascript ne fonctionne toujours pas. Cliquer sur "parcourir" exécutera le script correctement, en cliquant sur "télécharger un fichier" ne sera pas.

+0

je l'ai essayé, ça a marché. Quelle version d'IE utilisez-vous? –

+0

son fonctionnement avec IE8 et plus grande .. Dans quelle version êtes-vous? – GustyWind

+0

Chargez-vous jQuery à partir d'un domaine différent? Comme, un CDN ou quelque chose? – sdleihssirhc

Répondre

0

La raison pour laquelle votre formulaire ne fonctionne pas pour IE 7 et ci-dessous est que IE ne déclenche pas d'événement CHANGE pour votre entrée FILE. Tous les autres navigateurs sont capables de se déclencher correctement. Ne détestes-tu pas IE? :)

Quoi qu'il en soit, voici ce que je ferais avec jQuery:

$(document).ready(function(){ 

    if (jQuery.browser.msie){ 
    // IE is created by retarded programmers and can't 
    // detect file input change 
    // Since IE suspends timeouts while the file dialog is open, 
    // the submitForm is called AFTER the dialog closes 
    $('#filesToUpload').bind('click', function(){ 
     setTimeout(submitForm, 0); 
    }); 
    } else { // Other normal browsers can do stuff properly 
    $('#filesToUpload').bind('change', submitForm); 
    } 

    var submitForm = function(){ 
    $('form[name="attachmentUploader"]').submit(); 
    } 
}); 
+0

Merci pour la réponse mais je cours IE 9 .. et l'onchange même si tirant pour IE9 il jette juste et erreur après l'appel de la fonction submit(). –

+0

@Adam - même problème avec moi dans IE9;) –

Questions connexes