2012-02-16 134 views
1

比方說,比如我有這樣的代碼:改變輸入的值

<input type="file" id="file" name=""> 
<input class="uploadarea"> 
<span class="button">Browse</span> 

現在我setupped一些CSS來改變默認的輸入文件按鈕的樣子,而現在的問題是,如何當我選擇文件時,是否更改.uploadarea的值取決於#file的值?

我目前有這個代碼,但我不知道接下來要做什麼。

var x = document.getElementsByTagName('input'); 
inputfile = x[0]; 
textbox = x[1]; 
+1

你究竟想做什麼? – gdoron 2012-02-16 13:22:47

+0

我想使用'input [type = file]'中的文件路徑作爲類'uploadarea'的輸入值。 – Michelle 2012-02-16 13:27:55

+0

@ user1099531您無法使用文件輸入元素獲取文件的路徑,只是文件名。 – Niklas 2012-02-16 13:30:25

回答

2

添加onchange處理程序來處理的文件事件change事件:

<input type="file" id="file" name="" onchange="something(this.value)"> 
<input id="somethinghere" class="uploadarea"> 
<span class="button">Browse</span> 

function something(val) { 
    document.getElementById('somethinghere').value = val; 
} 

您需要添加id屬性這個工作

+0

我應該把它放在頭上還是在''之前? – Michelle 2012-02-16 13:38:11

+0

你可以把它的腳本放在作爲它的觸發器 - 即不依賴DOM正在準備好 – ManseUK 2012-02-16 13:38:55

+0

奇怪。該值是「未定義」。 – Michelle 2012-02-16 13:41:25

0

簡單的jQuery代碼:

$('#file').change(function(){ 
    $('.uploadarea').val(this.value); 
}); 

的Javascript

<input type="file" id="file" onchange="foo()" /> 
<input class="uploadarea" id="other" /> 

function foo(){ 
    document.getElementById('other').value = this.value 
} 
+0

I對不起,但這不包括jQuery。 – Michelle 2012-02-16 13:25:58

+0

'getElementsByClassName'不完全支持<= IE8 -> http://www.quirksmode.org/dom/w3c_core.html#t11 – ManseUK 2012-02-16 13:29:20

+0

@ManseUK。固定。 – gdoron 2012-02-16 13:31:25