javascript
  • jquery
  • internet-explorer
  • 2012-11-07 66 views 1 likes 
    1

    我在html頁面上有一堆<a> s,每個頁面都與form相關聯,並希望在表單本身取得時顯示「加載」圖像(這似乎需要很長時間,但也許這是另一回事)。未提交表單的IE9(兼容模式)

    所以我做了一個有點hackish在這些a小號

    frmContent = $ (this).nextAll ("form").clone(); 
    $ ("body").html ("<div class='preload'><img src='./img/loading.gif' /><br/>Caricamento in corso<\/div>"); 
    $ ("body").append(frmContent); 
    frmContent.submit(); 
    

    onclick事件這似乎在Firefox和IE9的作品。問題是兼容模式啓用時,這不起作用。

    我也想過用不同的東西時,瀏覽器被公認爲IE7,像這樣:

    if ($.browser.version != "7.0") { 
        frmContent = $ (this).nextAll ("form").clone(); 
        $ ("body").html ("<div class='preload'><img src='./img/loading.gif' /><br/>Caricamento in corso<\/div>"); 
        $ ("body").append(frmContent); 
        frmContent.submit(); 
    } else { 
        $ (this).nextAll ("form").submit(); 
    } 
    

    因此不會顯示預加載動畫,但這種失敗的目的。

    由於我不能強制用戶關閉兼容模式,並且由於此頁面也必須在IE7中工作,該片段有什麼問題?有沒有更好的方法來做到這一點。

    +1

    何不與我你只需要改變的知名度,而不是克隆,並利用克隆的。在隱藏表單顯示加載div(這是不可見的顯示:以前沒有)並提交表單。 –

    +0

    [您實際上可以強制您的用戶關閉兼容模式。](http://msdn.microsoft.com/zh-cn/library/ie/ms533876%28v=vs.85%29.aspx)添加該標題與「內容」值「IE = 10」或什麼的。 – Pointy

    +0

    @Pointry,是的,我知道,當我說我不能說我的意思是他們可以使用IE7 –

    回答

    2

    在提交表單之前,將表單追加到表單中。

    frmContent = $ (this).nextAll ("form").clone(); 
        $ ("body").html ("<div class='preload'><img src='./img/loading.gif' /><br/>Caricamento in corso<\/div>"); 
        frmContent.hide(); 
        $ ("body").append(frmContent); 
        frmContent.submit(); 
    

    就像解決方法。我沒有理由用預加載div替換所有正文HTML並克隆表單。你可以簡單地隱藏一切之前提交,並追加預緊DIV:

    $ ("body").children().hide(); 
        $ ("body").append($("<div class='preload'><img src='./img/loading.gif' /><br/>Caricamento in corso<\/div>")); 
        $ (this).nextAll ("form").submit(); 
    
    +0

    對不起,我應該說這是我的第一次嘗試,但它也沒有工作,我會編輯這個問題來反映這個問題 –

    +0

    嗯,奇怪,我有類似的問題,但表單是在飛行中創建的,沒有克隆, –

    +0

    看看這些例子:http://jsfiddle.net/TVdvU/2/ - 表單不會被追加,並且http://jsfiddle.net/TVdvU/ - 表單被追加到body中。我已經檢查了這個在IE9切換到IE7模式。表單被加載時 - 效果很好。當我沒有追加提交時 - 沒有任何反應。 –

    相關問題