Pregunta

Im presentar mi archivo a través de jQuery utilizando Jform.js plugin y su funcionamiento en Firefox pero cuando lo intento en el archivo IE8 adecuadamente sumbitted pero el control de carga de archivos se oculta y más aún cuando comento condición IE entonces el imposible de control de carga de archivos obtener ocultar pero cuando verifico Request.Files [0] .ContentLength en mi controlador que tiene valor 0. Este es mi código y lo que puede ser que estoy haciendo mal? Im con Asp.net MVC y jQuery 1.4.2-

        var myform = document.createElement("form");    
        myform.style.display = "none"
        myform.action = "/Media/AjaxSubmit";
        myform.enctype = "multipart/form-data";
        myform.method = "post";
        var imageLoad;
        var imageLoadParent;
        if (document.all) {//IE
            imageLoad = document.getElementById(fileId);
            imageLoadParent = document.getElementById(fileId).parentNode;
            myform.appendChild(imageLoad);
            document.body.appendChild(myform);
        }
        else {//FF          
                imageLoad = document.getElementById(fileId).cloneNode(true);
                myform.appendChild(imageLoad);
                document.body.appendChild(myform);          
        }    
        $(myform).ajaxSubmit({ success: function (responseText) {    
});
¿Fue útil?

Solución 2

La solución es sencilla me acaba de añadir que el control de exploración cuando respuesta de vuelta de ajaxsubmit función y el código es el siguiente

            $(myform).ajaxSubmit({ success: function (responseText) {
            if (document.all) {//IE
                imageLoadParent.appendChild(myform.firstChild);
            }
            else//FF                     
            {
                document.body.removeChild(myform);
            }

Otros consejos

¿Cuál es el delirio antes .ajaxSubmit? Parece que el código desde el final de los años 90. Yo recomendaría que usted utilice simplemente jQuery y no preocuparse por problemas con el navegador cruz:

$('form')
    .attr('action', '/Media/AjaxSubmit')
    .attr('method', 'post')
    .attr('enctype', 'multipart/form-data')
    .hide()
    .append($('#' + fileId).clone())
    .ajaxSubmit({
        success: function(responseText) {
            // ...
        }
    })
    .appendTo('body');

Observación: la acción forma codificada se ve feo. Usted debe considerar el uso de ayudantes HTML para generar direcciones URL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top