隨筆-2  評論-0  文章-17  trackbacks-0
              在用strust2做項目時遇到一個問題,我用struts2中datetimepicker 標簽時只想讓用戶用后面的選擇按鈕來選擇日期,
          而不想讓用戶輸入,因為用戶的輸入很可能不符合日期格式的要求。
              于是我就在<s: datetimepicker >標簽中加入了disabled=“true",但是我發(fā)現(xiàn)這個設置根本不起作用。
              我開始到網(wǎng)上去找這方面的資料,我發(fā)現(xiàn)遇到這個問題的人還真不少,但是都沒有找到好的解決方案。
          于是我開始自己琢磨這這個問題,經(jīng)過很多次的實驗我發(fā)現(xiàn),<s: datetimepicker >控件其實是一個DIV,
          他的innerHTML是的具體內(nèi)容如下: 
          代碼內(nèi)容

              第一個子元素是一個隱藏域的表單,
              第二個就是我們看見的文本輸入框.
              日期控件的如下:
          <s:datetimepicker name="starttime" id="starttime" displayFormat="yyyy-MM-dd"></s:datetimepicker>
              我們想要做的就是讓第二個子元素的disabled="true",所以我們可以這么做:
          然后寫javascript,代碼如下:
          document.getElementById("starttime").childNodes(1).disabled="true";
          其中childNodes(1)代表是第二個子元素,也就是我們不想讓用戶輸入的文本框。
          目的達到。
          但是這又遇到了另外一個問題設置成disabled的時候,Action中獲取不到頁面中相應的值.
          用如下方式:
          document.getElementById("startTimeId").childNodes(1).setAttribute("readOnly","true");
          或document.getElementById("starttime").childNodes(1).readOnly="true"; //注意readOnly中o大寫
          就能獲取值了.

          我又嘗試隱藏選擇按鈕圖片:
          document.getElementById("startTimeId").childNodes(2)獲取第三個元素的時候發(fā)現(xiàn)是空格(狂暈).
          document.getElementById("startTimeId").childNodes(3)才是那個圖片!
          document.getElementById("startTimeId").childNodes(3).style.display  =  "none";        //刪掉圖片原來所占的位置
          document.getElementById("startTimeId").childNodes(3).style.visibility  =  "hidden";    //保留圖片位置.
          一切ok!
          posted on 2010-03-10 14:06 lameer 閱讀(3052) 評論(0)  編輯  收藏 所屬分類: struts2學習
          主站蜘蛛池模板: 鄄城县| 上杭县| 南康市| 青岛市| 顺平县| 龙胜| 黄陵县| 那坡县| 邻水| 巴彦县| 侯马市| 青川县| 宁海县| 邮箱| 宁陵县| 陈巴尔虎旗| 富民县| 杭州市| 子长县| 建宁县| 彭州市| 新营市| 包头市| 新密市| 会泽县| 长白| 长治县| 乌海市| 上犹县| 福建省| 邵武市| 满洲里市| 长泰县| 永嘉县| 长岭县| 江城| 老河口市| 保靖县| 邯郸县| 紫阳县| 永安市|