[討論] 設計上遇到的程序問題

看板Ajax作者 (希望永存)時間11年前 (2014/10/23 09:01), 編輯推噓4(4014)
留言18則, 2人參與, 最新討論串1/1
大家好 一般我們在設計表單欄位填寫是否符合條件需求多會在,clinet端做判斷再放行上傳到DB; 今天我們就先~擱著~為何多會在clinet判斷完才上傳的觀念: 因為我現在的情況是會把所有表單的資訊一併傳到 web做判斷是否符合條件,才放行到 process 程序。 [填表]C -> [check]W -> [process]W C:clinet W:web 填表完畢 會透過 XHR(ajax) check.php 去做欄位條件判斷,有問題就會傳值回來並透過 alert顯示出來,若判斷正確沒問題就會運行到另一個 XHR(ajax) process.php,去做上 傳數據的處理。 現在問題來了,過去單純傳遞字串;因為當時的 XHR 沒有上傳檔案的api支持,所以整體 上運作不會帶有上傳檔案的程序(檔案基本上是與純文字岔開運作),但是現在 XHR2 支持 了上傳檔案的api,多數人應該都會感到興奮便利,過去 XHR 再傳檔案運程上會是一種 困難點,而在 XHR2 下的 FormData 變得非常便利;但是每次執行便會作上傳的動作, 因為我設計的程序會跑兩次 XHR2 所以變成會運行兩次上傳檔案的動作,有辦法不再改變 現有的程序讓他只在完成第一次欄位判斷後,才作上傳的置能嗎? -- =================================== 讓生命充滿活力,讓不如意就此消熄! 讓慈悲充滿人間,讓感恩長駐心底!! =================================== -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.37.232 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1414026065.A.6A0.html

10/23 09:21, , 1F
就第一次檢查時不要塞檔案上傳就好了啊?
10/23 09:21, 1F

10/23 09:21, , 2F
你是靠什麼環境自動檢查的嗎? 不然基本上不改程式碼
10/23 09:21, 2F

10/23 09:22, , 3F
而改變功能是不可能的事
10/23 09:22, 3F

10/23 09:42, , 4F
但是我昨天試過,試著把塞檔案的那欄位給空值,但是不行
10/23 09:42, 4F

10/23 09:42, , 5F
它還是會把我選的檔案上傳完畢才作欄位的判斷
10/23 09:42, 5F

10/23 09:43, , 6F
程式碼當然是可以被修改的,若不想破壞現有的執行模式下
10/23 09:43, 6F

10/23 09:44, , 7F
的化可行嗎?
10/23 09:44, 7F

10/23 09:45, , 8F
我只是很簡單的檢查方式,欄位POST到web,web取值再用php
10/23 09:45, 8F

10/23 09:46, , 9F
寫好的判斷函數來作欄位判斷
10/23 09:46, 9F

10/23 10:21, , 10F
你直接把程式碼貼出來吧 你的程式只要不把檔案塞進fr
10/23 10:21, 10F

10/23 10:22, , 11F
不塞進form data xhr就不會上傳檔案這是肯定的
10/23 10:22, 11F

10/23 10:26, , 12F
那樣子看來 check 的部分就必須用 xhr 純文字的方式了
10/23 10:26, 12F

10/23 11:27, , 13F
的確 如果你check不用上傳檔案 為何要用formdata?
10/23 11:27, 13F

10/23 11:37, , 14F
就算用form data你也不需要把整個form塞進裡面.......
10/23 11:37, 14F

10/23 11:38, , 15F
fileupload button基本上是不會讓你控制的 你所謂的
10/23 11:38, 15F

10/23 11:38, , 16F
把那欄位塞空值應該是無效的舉動
10/23 11:38, 16F

10/23 11:39, , 17F
你要做的是不把該檔案欄位塞進form data裡面 不是去
10/23 11:39, 17F

10/23 11:39, , 18F
操作裡面的值
10/23 11:39, 18F
文章代碼(AID): #1KI5DHQW (Ajax)
文章代碼(AID): #1KI5DHQW (Ajax)