2014-01-17 41 views
0

也許我的問題是重複的,但我嘗試了很多在這裏找到的答案,沒有成功。用單獨上傳按鈕修改的輸入類型文件

在我的jsp頁面上,我有一個輸入類型文件,還有一個上傳按鈕,它會觸發上傳。事情是這樣的:

<div id="test_form"> 
<input type="file" id="file" style = "position:absolute; top:-100px;"> 
<button id="selectFileButton">Please choose file</button> 
</div> 
<button id="upload">Upload selected file</button> 

而一些JS:

$(document).ready(function() { 
    $("#selectFileButton").click(function() { 
     $("#file").click(); 
    }); 
}); 

,當我在「請選擇文件」按鈕,單擊時,顯示爲選擇一個新的窗口。但是,當我選擇文件,一切都消失了,所以我現在能夠擊中實際的「上傳」按鈕。 你能幫我嗎?

+0

'一切順利away​​'什麼是一切嗎? – Pinal

+0

與頁面上的所有元素一樣,它向我顯示一個空白頁面。 –

回答

0

我所做的是製作一個帶有自定義佈局的div,並在其上面放置一個不可見的文件。這樣用戶實際上點擊文件上傳。如果你想顯示所選文件的名稱,你將需要一些JavaScript。

<div style="position: relative; width: 300px; height: 50px;"> 
    <div class="button" style="position: absolute;">Click me!</div> 
    <input type="file" style="float: left; opacity: 0; cursor: pointer;" /> 
</div> 

和一些JS:

$("input[type=file]").change(function(){ 
    $(this).siblings("div").eq(0).html($(this).val()); 
}); 
+0

事情是,我需要放在它上面的ID,因爲我做了一些其他的東西,當我點擊上傳。也許這是一個問題? –

+0

你可以用輸入框的id替換'input [type = file]',並在javascript函數中做更多的事情。 – Jerodev

+0

好的。另外,在你的答案中,div class按鈕不會鏈接到輸入文件,所以如果點擊它,它將不會打開選擇文件頁面。 –

相關問題