<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        完美解決在ModalPopupExtender中使用CalendarExtender時被層遮擋的問題

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:43:44
        文檔

        完美解決在ModalPopupExtender中使用CalendarExtender時被層遮擋的問題

        完美解決在ModalPopupExtender中使用CalendarExtender時被層遮擋的問題:大家可以去官方網(wǎng)站查看demo,ModalPopupExtender控件用來在網(wǎng)頁中實(shí)現(xiàn)類似于模式對話框的效果,而CalendarExterder控件提供日期輸入,它有幾個很重要的屬性: TargetControlID:日期輸入的目標(biāo)控件ID,一般來說都都是一個文本框。 Format:日期格式
        推薦度:
        導(dǎo)讀完美解決在ModalPopupExtender中使用CalendarExtender時被層遮擋的問題:大家可以去官方網(wǎng)站查看demo,ModalPopupExtender控件用來在網(wǎng)頁中實(shí)現(xiàn)類似于模式對話框的效果,而CalendarExterder控件提供日期輸入,它有幾個很重要的屬性: TargetControlID:日期輸入的目標(biāo)控件ID,一般來說都都是一個文本框。 Format:日期格式

        大家可以去官方網(wǎng)站查看demo,ModalPopupExtender控件用來在網(wǎng)頁中實(shí)現(xiàn)類似于模式對話框的效果,而CalendarExterder控件提供日期輸入,它有幾個很重要的屬性:

        TargetControlID:日期輸入的目標(biāo)控件ID,一般來說都都是一個文本框。
        Format:日期格式,如yyyy-MM-dd。
        PopupButtonID:用戶打開日期選擇面板的控件ID,如按鈕,圖片等。
        PopupPosition:設(shè)置日期選擇面板打開的位置,這個是相對于TargetControlID所在控件的位置的。有幾個可選的值:BottomLeft,BottomRight,Left,Right,TopLeft,TopRight。
          一般來說我們只需要設(shè)置這幾個屬性就可以滿足應(yīng)用了,除非你想自定義日期選擇面板的顯示樣式,這時你需要自己給定CssClass。這里是一個例子。
        代碼如下:


        <asp:TextBox ID="tbBeginTime" runat="server" CssClass="singleText" MaxLength="10" Width="90"></asp:TextBox>
        <asp:Image ID="imgBeginTime" ImageUrl="/upload/2009-11/20091124203311125.png" runat="server" />
        <ajaxToolkit:CalendarExtender ID="CalendarExtenderBeginTime" Format="yyyy-MM-dd" TargetControlID="tbBeginTime" PopupButtonID="imgBeginTime" runat="server">
        </ajaxToolkit:CalendarExtender>

          網(wǎng)上有人說這個控件打開的日期選擇面板會被下拉列表擋住,好像在早期的版本中會存在這個問題,現(xiàn)在新的版本已經(jīng)修正了這個bug。我所遇到的問題是在ModelPopupExtender控件中使用CalendarExtender,日期選擇面板會被后面的ModelPopupExtender擋住。有關(guān)ModelPopupExtender的使用讀者可以看看官方網(wǎng)站的例子,很簡單,這里我就不多說了。看一下問題的截圖。
        2009-11-24 9-52-45看到了吧!CalendarExtender彈出的日期選擇面板被后面的ModelPopupExtender擋住了。我在Google上搜了一些資料,大多都是講怎么重新設(shè)置CalendarExtender控件的樣式,指定層的z-inde屬性等,但我嘗試過都失敗了,其中有人說在IE6下測試是可以的,不過我沒有驗(yàn)證過,因?yàn)槲椰F(xiàn)在也找不到裝有IE6的機(jī)器了,沒有環(huán)境,自然測不了。

          其實(shí)在FireFox下用Firebug查看頁面生成的html,你會看到ModelPopupExtender樣式中的z-index和CalendarExtender是相同的,這估計(jì)是Ajax Toolkit控件中的一個bug,應(yīng)該所有類似于這樣的控件都會存在這個問題,即在層上打開層,后打開的層會被之前的層擋住,因?yàn)樗鼈兊膠-index都是相同的。想要日期輸入面板不被后面的“模式對話框”擋住,只能是將它的z-index設(shè)得更大點(diǎn),但是單純的css修改又沒有效果,因?yàn)檫@個日期輸入面板是動態(tài)生成的,伴隨著里面的css,所以你預(yù)先設(shè)置它的樣式是沒有用的,除非你修改控件的源代碼。

          后來在網(wǎng)上查到了一個資料,其實(shí)CalendarExtender控件有幾個客戶端事件可以用,其中有一個OnClieckShown,是在日期輸入面板打開后觸發(fā)的,于是我們可以從這里下手,通過腳本來設(shè)置z-index的值。下面是代碼。
        代碼如下:


        <script type="text/javascript">
        // Ensure the calendar panel was shown on the top level.
        function calendarShown(sender, args) { sender._popupBehavior._element.style.zIndex = 1000005; }
        </script>

          原本ModelPopupExtender的z-index值就已經(jīng)很高了,這恐怕是控件的設(shè)計(jì)者擔(dān)心它會被其它層擋住的原因吧。我們將日期選擇面板的z-index值再設(shè)高一點(diǎn),然后在控件中添加OnClientShown="calendarShown",保存后重新查看頁面。
        2009-11-24 9-54-36一切搞定!看來CalendarExtender控件提供的幾個腳本事件還是很有用的,讀者可以自己去研究下其它幾個腳本事件的用途。還有一個需要注意的地方,CalendarExtender控件雖然提供了一個非常棒的日期輸入功能,但是它本身并不對目標(biāo)控件中的值進(jìn)行驗(yàn)證。例如那個文本框,用戶是可以手動填寫內(nèi)容的,這時CalendarExtender并不對其中的值進(jìn)行校驗(yàn),除非你將文本框設(shè)置為只讀,這時又會有一個問題,那就是用戶如何清除里面的值呢?看來還需要自己寫代碼驗(yàn)證一下文本框里的值。結(jié)合上面給出的代碼,我們可以在給文本框添加一個客戶端onblur事件,當(dāng)它失去焦點(diǎn)的時候,驗(yàn)證其中的值。下面是用來進(jìn)行驗(yàn)證的js代碼。
        代碼如下:

        function CheckDate(Inobj) {
        Inobj.value = trim(Inobj.value);
        if (Inobj.value != "") {
        var reg = /^\d{8}$/;
        if (Inobj.value.match(reg) != null) {
        Inobj.value = Inobj.value.substring(0, 4) + "-" + Inobj.value.substring(4, 6) + "-" + Inobj.value.substring(6, 8);
        }
        reg = /^([1-2]\d{3})-(([1][0-2])|(0?[1-9]))-(([3][0-1])|([1-2][0-9])|(0?[1-9]))$/;
        if (Inobj.value.match(reg) == null) {
        alert("輸入日期的格式不正確!");
        Inobj.value = "";
        Inobj.focus();
        }
        }
        }

        //移除字符串中的空格
        function trim(s) {
        var s2="";
        for(i=0;i<s.length;i++) {
        if(s.charAt(i)!=" ") s2=s2+s.charAt(i);
        }
        return s2;
        }

        然后在文本框中添加onblur="CheckDate(this);"。這樣,當(dāng)用戶輸入非法值后,程序提示用戶然后清空其中的值。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        完美解決在ModalPopupExtender中使用CalendarExtender時被層遮擋的問題

        完美解決在ModalPopupExtender中使用CalendarExtender時被層遮擋的問題:大家可以去官方網(wǎng)站查看demo,ModalPopupExtender控件用來在網(wǎng)頁中實(shí)現(xiàn)類似于模式對話框的效果,而CalendarExterder控件提供日期輸入,它有幾個很重要的屬性: TargetControlID:日期輸入的目標(biāo)控件ID,一般來說都都是一個文本框。 Format:日期格式
        推薦度:
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲成a人片在线观看中文动漫 | 色欲国产麻豆一精品一AV一免费 | 免费看无码自慰一区二区| 亚洲人成在线精品| 成人A级毛片免费观看AV网站| 中文在线观看国语高清免费| 亚洲国产天堂久久久久久| 又黄又大的激情视频在线观看免费视频社区在线 | 色爽黄1000部免费软件下载| 最新精品亚洲成a人在线观看| 久久成人18免费网站| 18禁无遮挡无码网站免费| 国产精品亚洲精品青青青| 日本无吗免费一二区| 无套内谢孕妇毛片免费看看| 亚洲人色婷婷成人网站在线观看 | 国产麻豆免费观看91| 国产成人亚洲精品电影| 国产亚洲自拍一区| 曰批全过程免费视频网址| 亚洲精品无码一区二区| 日韩精品久久久久久免费| 亚洲精品中文字幕乱码影院| 最新猫咪www免费人成| 欧亚一级毛片免费看| 亚洲AV永久纯肉无码精品动漫| 久热中文字幕在线精品免费| 日韩成人精品日本亚洲| 伊人久久大香线蕉亚洲五月天 | 天天拍拍天天爽免费视频| caoporn国产精品免费| 国产v精品成人免费视频400条| 亚洲成人激情在线| 免费阿v网站在线观看g| 一级毛片免费不卡| 亚洲H在线播放在线观看H| 亚洲日韩VA无码中文字幕| 国产成人免费高清激情明星| 免费国产va在线观看| 亚洲精品mv在线观看|