form.submit()發送請求通常是單向的,若是須要取返回的數據,通常會發送ajax請求,可是若是form中有附件呢?(之後有時間給你們分享ajax上傳附件的功能),確實須要返回數據來知道該功能是否執行成功呢?個人解決方法是在form 中增長一個target屬性,讓其返回的數據添加到一個隱藏的iframe的控件中,返回的數據javascript
<label for="a"> 上傳附件 </label> <form id="uploadForm" enctype="multipart/form-data" target="frameFile" method="post"> <input type="file" id="a" name="a" onchange="fileUpload()" style="position:absolute;top:0px;right:0px;cursor:pointer; opacity:0;filter:alpha(opacity:0);z-index:999;" /> </form> <iframe id='frameFile' name='frameFile' style="display:none"> </iframe>
如下是返回頁面中後臺返回數據的處理java
<script type="text/javascript"> try { var data = eval("($result)") if (data.success) { alert(data.res) } window.top.LoadByFrame(data.success); } catch (e) { window.top.closeBg(); } </script>
function fileUpload() { var form = document.getElementById('uploadForm'); form.action="XXX.do?"; form.submit(); }
這樣就可以在隱藏的iframe中顯示處理過的數據了 ajax