隨筆 - 37  文章 - 29  trackbacks - 0


          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          最新評論

          閱讀排行榜

          評論排行榜

          幫朋友做一個小項目,只是當自己練練手的。其中有一個頁面上的需求,是這樣的:
          一個原來做好了的表單提交頁面,需要增加一個按鈕,點擊這個按鈕,從本地讀取ini文件里相應信息,填入到表單里去。
          就是這么一個小需求,把我搞死了,水平還是太爛了


          一開始,我首先想到的是用ajax做。
          頁面是這樣寫的:
              <input type="button" id="btn" value="導入INI" size="30" onclick="f.click();"/>
              <input type="file" id="f" name="f" onchange="fktmd()" style="display:none" hidefocus onkeydown="return false;"/>
          但這個click()在FF下不好用,對于file不起作用。那只好在js里判斷一下了,如果不是IE,則隱藏button,顯示file。反正對特定用戶來說,他們不會去用FF的。
          但發(fā)現(xiàn)ajax的post請求,并不是真正的提交表單提交,只不過是把要提交的表單數(shù)據(jù)轉(zhuǎn)換成一串請求字符串,然后用xmlhttp來send。但是對于上傳文件,好象因為安全問題,xmlhttp是沒辦法了。


          后來想到用iframe。設置一個iframe,js提交表單的時候,把form的target設置為這個iframe,也可以實現(xiàn)主頁面無刷新提交。

          然而,又碰到另一個問題:我上面file里onchange觸發(fā)的js方法,IE下無法提交表單,老是報“拒絕訪問”的錯。
          后來用排除法定位到出錯的地方,就在這個file里。具體原因不明,誰能告訴我嗎?

          既然沒人告訴我為什么,那么繼續(xù)
          我放棄了原來用button模擬file的方案了,還是老老實實用file吧
          現(xiàn)在,我用iframe來實現(xiàn)無刷新提交form了。提交完后,在iframe的src指向的頁面里,寫個給主頁面各個輸入框設置的js方法,parent.document.getElementById('tnnd').value=...    這里沒有用js框架,我還不太會,正在看YUI,以后嘗試用用,現(xiàn)在沒空
          還是先介紹一下我用的框架:JSP+Struts+Spring+Ibatis
          這個讀取ini文件設置到頁面的小功能,是用在兩個頁面:“新增”和“修改”頁面。我這個項目,因為對JSP和Struts遺忘得太多了,所以把新增和修改分成兩個頁面來做了,另一方面也是當時時間緊,沒容我慢慢學習回顧。
          但是,用了iframe之后,我發(fā)現(xiàn)“修改”頁面正常了,但是“新增”頁面卻無法進入后臺程序。
          然后繼續(xù)抓狂...
          后來想到了是不是Struts的驗證的原因。因為當時“修改”頁面的數(shù)據(jù)是正常的,而“新增”頁面是沒有數(shù)據(jù)的時候在測試的,所以老是通不過驗證,但是因為又沒有去刷新主頁面的,所以沒辦法報錯。

          最后,NND,總算好了。
          另外,中間還碰到個小問題,就是jsp2.0的${}標記,在我本地是可以取到request里的值的,而在服務器上是取不到的。不知道是不是沒有引用taglib還是其他原因,暫時不明,以后慢慢學習




          posted on 2007-11-24 11:32 EvanLiu 閱讀(1561) 評論(1)  編輯  收藏 所屬分類: HTML

          FeedBack:
          # re: 一個失敗了的需求--button模擬file提交數(shù)據(jù) 2009-08-22 15:58 htf
          grdgvf  回復  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 鸡东县| 黑山县| 民权县| 拉孜县| 孟州市| 鲜城| 桓台县| 台北市| 隆化县| 如东县| 巴彦县| 腾冲县| 县级市| 万州区| 平利县| 绥宁县| 平顶山市| 济阳县| 四会市| 连城县| 武隆县| 博客| 大同市| 永昌县| 锡林浩特市| 莱州市| 馆陶县| 苍山县| 威宁| 桂东县| 林芝县| 乐亭县| 北宁市| 西平县| 防城港市| 唐山市| 涿鹿县| 大埔区| 申扎县| 巴中市| 揭阳市|