インターネットエクスプローラでファイルの内容を提出する問題

StackOverflow https://stackoverflow.com/questions/3815884

  •  26-09-2019
  •  | 
  •  

質問

イムは、FirefoxでJform.jsプラグインとその作業を使用してjqueryの経由私のファイルを提出するが、私はIE8のファイルでそれをしようとすると、正しくsumbittedが、ファイルアップロードコントロールが隠されますと、さらに多くの私は、ファイルアップロードコントロールdoesntのIEの状態をコメントするとき非表示を取得するが、私は私のコントローラでRequest.Files [0] .ContentLengthをチェックするときには0の値を持ちます。これは私のコードで、何が間違っているイムことができますか?イム使用してAsp.net MVCと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) {    
});
役に立ちましたか?

解決 2

次のように

ソリューションは、それがバックajaxsubmit機能やコードからの応答時に、私はちょうどそのブラウズコントロールを追加する簡単なの

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

他のヒント

.ajaxSubmit前せん妄とは何ですか?それは90年代の終わりからのコードのように見えます。私はあなたが単純にjQueryを使用し、クロスブラウザの問題を心配しないようにお勧めします:

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

備考:ハードコードされたフォームのアクションは醜いです。あなたは、URLを生成するHTMLヘルパーを使用して検討する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top