$("#duty_add").click(function(){ var root = $("p#root").text(); var vals = $.trim($("#content").val()); if(vals != ''){ $.ajax({ type : "POST", url : root + "/duty/dutyadd", data :{'content':vals}, success:function(data){ console.log(file_value); $("#result").html(data); } }); }else{ alert('內容不可為空'); } }); $("#upload_file").change(function(){ if($("#upload_file").val() != ''){ var root = $("p#root").text(); //擷取路徑 var root2 = $("p#root2").text(); //擷取路徑 var formData = new FormData($("#uploadForm")[0]); $.ajax({ url: root + "/duty/fileup", type: 'POST', data: formData, async: true, cache: false, contentType: false, processData: false, success: function (returndata) { file_value[returndata.name] = returndata.url; $("#uploadForm").prepend(''+ returndata.name + ''+"
"); } }); }; });
附件上傳是ajax非同步提交,然互產生超連結。
$("#uploadForm").prepend(''+ returndata.name + ''+"
");
但是當textarea點擊提交的時候,那麼如何把超連結的內容也提交呢?
如果是多個上傳檔案,如何把上傳檔案函數返回的值提交呢?應該怎麼擷取比較方便,是不是我思路是錯的?
想了好久想不通如何處理這樣的?
給個思路也行,我想試試
回複內容:
$("#duty_add").click(function(){ var root = $("p#root").text(); var vals = $.trim($("#content").val()); if(vals != ''){ $.ajax({ type : "POST", url : root + "/duty/dutyadd", data :{'content':vals}, success:function(data){ console.log(file_value); $("#result").html(data); } }); }else{ alert('內容不可為空'); } }); $("#upload_file").change(function(){ if($("#upload_file").val() != ''){ var root = $("p#root").text(); //擷取路徑 var root2 = $("p#root2").text(); //擷取路徑 var formData = new FormData($("#uploadForm")[0]); $.ajax({ url: root + "/duty/fileup", type: 'POST', data: formData, async: true, cache: false, contentType: false, processData: false, success: function (returndata) { file_value[returndata.name] = returndata.url; $("#uploadForm").prepend(''+ returndata.name + ''+"
"); } }); }; });
附件上傳是ajax非同步提交,然互產生超連結。
$("#uploadForm").prepend(''+ returndata.name + ''+"
");
但是當textarea點擊提交的時候,那麼如何把超連結的內容也提交呢?
如果是多個上傳檔案,如何把上傳檔案函數返回的值提交呢?應該怎麼擷取比較方便,是不是我思路是錯的?
想了好久想不通如何處理這樣的?
給個思路也行,我想試試
你在檔案上傳的時候已經把上傳後的結果儲存在了 file_value
這個變數中,
那麼在你提交 textarea
裡的時候時, 在 data :{'content':vals},
這個地方, 把 file_value
也傳遞給後台就可以了.
比如: data:{'content':vals, 'files':file_value},
你發的代碼中, 沒有 file_value
這個變數定義的地方, 所以此處假設你的這兩個 ajax
在觸發的時候,都可以訪問到這個變數, 且是同一個.
如果是要提交的內容,自然是要放在input裡面