隨筆 - 37  文章 - 29  trackbacks - 0


          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          最新評論

          閱讀排行榜

          評論排行榜

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


          一開始,我首先想到的是用ajax做。
          頁面是這樣寫的:
              <input type="button" id="btn" value="導(dǎo)入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。設(shè)置一個iframe,js提交表單的時候,把form的target設(shè)置為這個iframe,也可以實現(xiàn)主頁面無刷新提交。

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

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

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




          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ù)  更多評論
            

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大新县| 普陀区| 淮阳县| 项城市| 平阳县| 山阳县| 扬州市| 九江市| 监利县| 都匀市| 江孜县| 元阳县| 睢宁县| 建昌县| 花垣县| 平原县| 阳西县| 枣庄市| 辽宁省| 阿瓦提县| 华阴市| 株洲市| 克什克腾旗| 曲阜市| 土默特左旗| 江城| 吉安市| 区。| 桐城市| 清涧县| 虎林市| 巫溪县| 时尚| 靖宇县| 石首市| 鹤峰县| 米易县| 自治县| 瓮安县| 黄平县| 天水市|