2013-03-08 39 views
0

我正在尋找一個可以調出文件打開對話框的單擊解決方案,並從該對話框中將文件名發送到下一頁。我偷了這段代碼,但它需要兩次點擊才能到下一個頁面:單擊HTML中的文件對話框

<form enctype="multipart/form-data" action="ImportTOA.php" method="POST" accept="text/csv"> 
    <!-- MAX_FILE_SIZE must precede the file input field --> 
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
    <!-- Name of input element determines name in $_FILES array --> 
    Upload Daily TOA Logs: <br /><input name="userfile" type="file" /> 
    <input type="submit" value="Send File" /> 
</form> 

我並不需要上傳的文件,我只需要用戶選擇通過文件名。

+0

「我偷了這個代碼」,這聽起來有點壞... – DarkAjax 2013-03-08 22:53:01

回答

0

如果您不需要上傳文件,只需刪除enctype即可。文件名應該在沒有上傳的情況下通過。然後你可以在文件上的change事件上提交表格。我需要仔細檢查文檔,但我認爲change會在文件輸入中觸發。

看起來像IE可能會有點不同:Jquery: change event to input file on IE

你甚至不真正需要「提交」的形式,只是抓住通過JavaScript文件名,做任何你需要做的。

+0

我只偷好東西 – user1902860 2013-03-08 22:55:00

0

好的。在谷歌查詢範圍足夠窄的情況下,我找到了答案。如果有人來一起看這個線程,這裏是我借了工作代碼:

<form enctype="multipart/form-data" action="ImportTOA.php" method="POST" accept="text/csv"> 
    <!-- MAX_FILE_SIZE must precede the file input field --> 
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
    <!-- Name of input element determines name in $_FILES array --> 
    Upload Daily TOA Logs: <br /><input name="userfile" type="file" onChange = "this.form.submit()" /> 
</form>