隨筆 - 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的。
          但發現ajax的post請求,并不是真正的提交表單提交,只不過是把要提交的表單數據轉換成一串請求字符串,然后用xmlhttp來send。但是對于上傳文件,好象因為安全問題,xmlhttp是沒辦法了。


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

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

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

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




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

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

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


          網站導航:
           
          主站蜘蛛池模板: 陈巴尔虎旗| 西林县| 句容市| 苍山县| 克什克腾旗| 翁源县| 佛坪县| 阿拉善左旗| 普兰县| 惠东县| 南陵县| 正蓝旗| 金秀| 长宁县| 新乡县| 张北县| 永善县| 临朐县| 贵南县| 荔浦县| 安达市| 全州县| 鹿泉市| 桂平市| 托里县| 绥中县| 平邑县| 勐海县| 山阳县| 安平县| 开原市| 伊春市| 淅川县| 沙坪坝区| 庄浪县| 雷山县| 柳州市| 桦南县| 乌拉特前旗| 宁化县| 逊克县|