2014-03-26 108 views
2

我想觸發輸入標籤,通過按鈕點擊,雖然jQuery選擇一個文件。代碼示例如下如何觸發jquery輸入文件?

<input type="file" id="input_file"/> 

<button onclick="select_file()"/> 

function select_file() { 
${'input_file').select("http://www.someimage.com/image.gif"); 
} 

經過數小時的研究,我仍然沒有得到解決方案,我可以做到這一點。

欣賞任何建議或解決方案

感謝您

+3

文件輸入類型是用來選擇從本地文件系統中的文件... –

+0

你的選擇是wrong..you有一條捲曲大括號,你需要一個圓括號 – tymeJV

+0

@ArunPJohny是正確的。您是否嘗試從用戶的計算機上傳文件,或者您是否讓用戶選擇在線可用的圖像(然後想要上傳該圖像)? – Backpackcoder

回答

0

您應該使用

<input type="hidden" id="input_file"/> 
<button onclick="select_file()"/> 

function select_file() { 
$('input_file').val("http://www.someimage.com/image.gif"); 
} 

文件的輸入型主要用於本地文件系統的文件。

編輯:很抱歉的錯字

+1

這個'$ {''應該是'$('''。也是錯誤的引號:'file'/>' –

+0

Uncaught InvalidStateError:無法在'HTMLInputElement'上設置'value'屬性:這個input元素接受一個文件名,它只能以編程方式設置爲空字符串 – user2625363

0

有幾件事情錯了你的片段。您沒有使用腳本標記,您在ID選擇器之前忘記了「#」,並且在美元符號後面有一個大括號。

<input type="file" id="input_file/> 

<button onclick="select_file()"/> 
<script>  
function select_file() { 
    $('#input_file').select("http://www.someimage.com/image.gif"); 
} 
</script> 

雖然在技術上接近你的問題的工作方式,我絕對不會推薦它,因爲它可以導致難以維護的代碼。更好的方法是這樣的:

<input type="file" id="input_file/> 

<button class="changeInputButton" /> 
<script>  
$('.changeInputButton').on('click', function() { 
    $('#input_file').val("http://www.someimage.com/image.gif"); 
}); 
</script> 
+0

未捕獲InvalidStateError:未能在'HTMLInputElement'上設置'value'屬性:此輸入元素接受文件名,它只能以編程方式設置爲空字符串。 – user2625363

+0

@ user2625363我不確定你想要完成什麼。您收到的警告是告訴您,您無法以編程方式在用戶的系統文件中選擇一個隨機文件,因爲這將是一個巨大的安全問題 – alexdmejias

0

您的代碼中有錯別字...正確如下;

<input type="file" id="input_file"/> 

<button onclick="select_file()"/> 

function select_file() { 

    $('#input_file').val("http://www.someimage.com/image.gif"); 

} 
  1. 使用的Val地方選擇的
  2. 您在功能錯過了#號
  3. 你錯過了在文件輸入標籤
  4. 您使用大括號,而不是一個支架的報價