2010-12-02 90 views
0

我的網頁上我有以下幾點:導軌 - 使用jQuery填充表單

<span id="attach-file" class="link">Attach a file</span> 
    <div id="attach-file-form"> 
</div> 

給該附加文件不是一個常見的情況,我不希望附加文件,表單元素在負載下呈現,它會放慢一切。

我想要發生的是用戶單擊「附加文件」,jQuery AJAX GET獲取表單並將其注入附加文件表單中。

什麼是正確的方式在Rails去做到這一點?

jQuery中

我:

$("#attach-file").live("click", function() { 
    DO A GET TO A custom Method in the Attachment Controller 
    Inject inside the div 
}); 

這聽起來是正確的?

回答

2

將文件上傳表單顯示在頁面上但隱藏對網站性能幾乎沒有影響。我建議只將默認的文件上傳表單隱藏起來,並在點擊按鈕時觸發表單的顯示。

然後jQuery代碼可以這麼簡單:

$("#attach-file").live("click", function() { 
    $("#file_upload_form").show(); 
}); 

如果您確實需要從服務器獲取這一點,你可以使用jQuery.get方法撥打電話到Rails控制器,它能夠輸出適合你的形式:

$("#attach-file").live("click", function() { 
    $.get("/controller/action", function(html) { 
    $("#file_upload_form").html(html); 
    } 
}); 
+0

你爲什麼說0性能受到影響?該div將包含uploadify這是2個js文件和一個SWF,以及圖像? – AnApprentice 2010-12-02 22:35:24