台灣最大程式設計社群網站
線上人數
1057
 
會員總數:245214
討論主題:189089
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 如何知道選擇多筆上傳的數量
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何知道選擇多筆上傳的數量
價值 : 5 QP  點閱數:978 回應數:11

樓主

町風
初學者
229 209
1936 201
發送站內信

我想要在client端能知道,選擇上傳檔案的數量
這是有權限做到嗎?


搜尋相關Tags的文章: [ multiple ] , [ file ] ,
本篇文章發表於2015-09-24 18:39
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
不是很明白你說的意思
不過一般在client端大多數都可以獲得該有的變數才對。
只要你從server發給他就好。

一般的限制是server想要請求client端的一些設定是不允許的。
但server端的東西只要你發送給client端就都可以用。

兩者的差異在此。
本篇文章回覆於2015-09-25 10:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

町風
檢舉此回應
用document.getElementById("ufile").files.length可以抓到上傳筆數,
不過要HTML5 IE10+才可以。

感謝~
client是可以獲得該有的變數,有沒有什麼工具可以知道打 files.可以跑出有哪些屬性。(用NetBeans、dreamweaver沒有)


本篇文章回覆於2015-09-25 13:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我記得你有用jq。其實也可以用 $("input[type='file']").length
也可以在client取得目前的數量。

這不會受限瀏覽器才對。

NetBeans是有的。在你打程式碼時就會出現了。
本篇文章回覆於2015-09-29 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

迷路
捐贈 VP 給 迷路 檢舉此回應
星空大
町風用的是一個input設定multiple
並不是動態產生多個input
所以$("input[type='file']").length應該只能抓到1筆資料
我對於要如何用JQ取得答案也很有興趣
試了一下沒能成功
本篇文章回覆於2015-09-29 10:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
可以用如下的方式來取得


只要選擇後有變動就可以取得數量。這是針對multiple來處理的
可在此 http://jsfiddle.net/yQFXq/473/
看一下範例測試
本篇文章回覆於2015-09-29 14:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我其實是被他的 mypic[] 給騙了。
因為我發現他是用[]所以也沒去注意到後面的multiple

所以以為是多個input。才會教他用上面那樣的方式處理。
不過其實那只是判斷多少個input檔案框。(也就是說未選擇檔案也會算進去)

其實用
":file"也可以達到取得全部有選擇檔案數量的效果。
本篇文章回覆於2015-09-29 14:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
星空大
我測試了一下發現問題
下面是我寫的測試

在change的事件中,選擇檔案的數量能夠正確的取得
可是到按鈕的click事件時,卻沒辦法再次取得選擇檔案的數量
這是為什麼?
另外,星空大提供的範例測試頁,我用IE和chrome執行都沒能獲得正確的結果...
本篇文章回覆於2015-09-30 09:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
不錯的參考

迷路
捐贈 VP 給 迷路 檢舉此回應
剛剛發現
星空大提供的範例測試
我一開始看到的是
$('input[type='file']')
改成
$('input[type="file"]')
就能順利運行了
本篇文章回覆於2015-09-30 09:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

町風
檢舉此回應
測試結果也是change事件可以,click事件不行
在change的事件中,選擇檔案的數量能夠正確的取得
可是到按鈕的click事件時,卻沒辦法再次取得選擇檔案的數量
可能是安全性才支援change不支援click嗎?

本篇文章回覆於2015-11-23 14:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
因為你的on命令是錯的。

JQUERY 1.10 on已經不能用直接元件指定。得改用如下的方式處理
$(document).on('click', '#send', function () {
alert('clicked');
});
本篇文章回覆於2015-11-24 10:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

町風
檢舉此回應
已經改用$(document).on('click', '#send', function () {
但還是有問題
Uncaught TypeError: Cannot read property 'length' of undefined
用change事件才可以抓到上傳檔案的資訊

謝謝~

本篇文章回覆於2015-11-24 14:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.