隨筆-2  評論-0  文章-17  trackbacks-0
              在用strust2做項目時遇到一個問題,我用struts2中datetimepicker 標(biāo)簽時只想讓用戶用后面的選擇按鈕來選擇日期,
          而不想讓用戶輸入,因為用戶的輸入很可能不符合日期格式的要求。
              于是我就在<s: datetimepicker >標(biāo)簽中加入了disabled=“true",但是我發(fā)現(xiàn)這個設(shè)置根本不起作用。
              我開始到網(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)代表是第二個子元素,也就是我們不想讓用戶輸入的文本框。
          目的達到。
          但是這又遇到了另外一個問題設(shè)置成disabled的時候,Action中獲取不到頁面中相應(yīng)的值.
          用如下方式:
          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 閱讀(3064) 評論(0)  編輯  收藏 所屬分類: struts2學(xué)習(xí)
          主站蜘蛛池模板: 泰安市| 沙湾县| 洛川县| 观塘区| 湖州市| 慈利县| 嵊州市| 翼城县| 丹凤县| 郁南县| 桂东县| 鸡西市| 克拉玛依市| 资中县| 阳城县| 炉霍县| 晋城| 德州市| 忻州市| 兴业县| 徐水县| 仁布县| 吴忠市| 西林县| 琼海市| 托克逊县| 宁化县| 赣州市| 卢氏县| 建德市| 山东省| 桦川县| 永康市| 法库县| 新源县| 岗巴县| 泰宁县| 八宿县| 修水县| 阿拉尔市| 五华县|