2011-04-21 35 views
1

HTML代碼:JQuery的上更改事件下載文件

<span>Download Report as</span> 
    <select id="comboFile"> 
     <option value="none">Select</option> 
     <option value="http://somewhere/123.pdf">PDF</option> 
     <option value="http://somewhere/123.csv">CSV</option> 
    </select> 

JQuery的:

$(document).ready(function() { 
     $("#comboFile").change(function() { 
     if ($(this).val() != "none") GetFile($(this).val()); 
     $(this).val("none"); 
    }); 
}); 

function GetFile(fileURL){ 
///Code to be filled 
//window.location.href = fileURL;///Does not seem to work for new window 
} 

我非常卡住..我如何啓動文件下載。我需要填寫的代碼爲獲取文件的功能...

+0

你的代碼工作給出。設置'window.location'應該可以工作:http://jsfiddle.net/XeAzy/。請注意,設置'window.location'後寫入的JavaScript將不會運行。 – 2011-04-21 00:36:58

+0

定義「似乎不起作用」。 – 2011-04-21 00:39:09

+0

對不起,我本來應該在一扇窗戶裏說。它應該是'window.location.href = fileURL' – 2011-04-21 00:41:04

回答

0
$(document).ready(function() { 
     $("#comboFile").change(function() { 
     if ($(this).val() != "none") GetFile($(this).val()); 
     $(this).val("none"); 
    }); 
}); 

function GetFile(fileURL){ 
///Code to be filled 
//window.open(fileURL); 
} 
+0

謝謝,這將打開新窗口中的文件。我想下載它。 – 2011-04-21 00:49:35

+0

啊,好吧。在這種情況下,你需要編寫一些PHP。從本質上講,你該窗口的位置設置成類似http://myserver.com/download.php?file=myfile.pdf 然後,你需要設置頁眉和使用PHP的ReadFile的()函數。 應該有很多更多的細節職位。 – 2011-04-21 01:16:27