隨筆-2  評論-0  文章-17  trackbacks-0
              在用strust2做項目時遇到一個問題,我用struts2中datetimepicker 標簽時只想讓用戶用后面的選擇按鈕來選擇日期,
          而不想讓用戶輸入,因為用戶的輸入很可能不符合日期格式的要求。
              于是我就在<s: datetimepicker >標簽中加入了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 閱讀(3066) 評論(0)  編輯  收藏 所屬分類: struts2學(xué)習(xí)
          主站蜘蛛池模板: 两当县| 明星| 五原县| 岳阳县| 汝阳县| 榆社县| 双桥区| 邯郸县| 曲阜市| 金昌市| 奎屯市| 贵德县| 曲周县| 辽阳县| 绵阳市| 读书| 晋中市| 右玉县| 双鸭山市| 屏南县| 东山县| 抚顺县| 任丘市| 罗甸县| 卓资县| 蚌埠市| 莎车县| 宜黄县| 双柏县| 罗甸县| 保德县| 阿勒泰市| 东阳市| 吉木乃县| 福安市| 张家界市| 景宁| 澳门| 临朐县| 勃利县| 威远县|