Aniket Samanta Ответов: 1

Календарь всплывает в другом всплывающем окне


всем привет,

Я пытаюсь разработать страницу с помощью элемента управления devexpress, где элемент управления календарем будет открываться в одном модальном всплывающем элементе управления. Я использую приведенную ниже функцию javascript для отображения элемента управления календарем, но всякий раз, когда я пытаюсь открыть элемент управления календарем из модального всплывающего окна, изображение календаря появляется за модальным всплывающим окном и, следовательно, оно не кликабельно.

функция JavaScript -----

// implementation
function tcal(a_cfg, a_tpl) {

    // apply default template if not specified
    if (!a_tpl)
        a_tpl = A_TCALDEF;

    // register in global collections
    if (!window.A_TCALS)
        window.A_TCALS = [];
    if (!window.A_TCALSIDX)
        window.A_TCALSIDX = [];

    this.s_id = a_cfg.id ? a_cfg.id : A_TCALS.length;
    window.A_TCALS[this.s_id] = this;
    window.A_TCALSIDX[window.A_TCALSIDX.length] = this;

    // assign methods
    this.f_show = f_tcalShow;
    this.f_hide = f_tcalHide;
    this.f_toggle = f_tcalToggle;
    this.f_update = f_tcalUpdate;
    this.f_relDate = f_tcalRelDate;
    this.f_parseDate = f_tcalParseDate;
    this.f_generDate = f_tcalGenerDate;

    // create calendar icon
    this.s_iconId = 'tcalico_' + this.s_id;
    //alert(this.s_iconId);
    this.e_icon = f_getElement(this.s_iconId); //alert(this.s_iconId);
    if (!this.e_icon) {
        document.write('<img src="' + a_tpl.imgpath + 'cal.gif" id="' + this.s_iconId + '" onclick="A_TCALS[\'' + this.s_id + '\'].f_toggle()" class="tcalIcon" border="0" alt="Open Calendar" />');
        this.e_icon = f_getElement(this.s_iconId);
    }
    // save received parameters
    this.a_cfg = a_cfg;
    this.a_tpl = a_tpl;
}

function f_tcalShow(d_date) {
    vDateControlId = this.a_cfg.controlname;

    // find input field
    if (!this.a_cfg.controlname)
        throw ("TC: control name is not specified");
    if (this.a_cfg.formname) {
        var e_form = document.forms[this.a_cfg.formname];
        if (!e_form)
            throw ("TC: form '" + this.a_cfg.formname + "' can not be found");
        this.e_input = e_form.elements[this.a_cfg.controlname];
    }
    else
        this.e_input = f_getElement(this.a_cfg.controlname);

    if (!this.e_input || !this.e_input.tagName || this.e_input.tagName != 'INPUT')
        throw ("TC: element '" + this.a_cfg.controlname + "' does not exist in "
            + (this.a_cfg.formname ? "form '" + this.a_cfg.controlname + "'" : 'this document'));

    // dynamically create HTML elements if needed
    this.e_div = f_getElement('tcal');
    if (!this.e_div) {
        this.e_div = document.createElement("DIV");
        this.e_div.id = 'tcal';
        document.body.appendChild(this.e_div);
    }
    this.e_shade = f_getElement('tcalShade');
    if (!this.e_shade) {
        this.e_shade = document.createElement("DIV");
        this.e_shade.id = 'tcalShade';
        document.body.appendChild(this.e_shade);
    }
    this.e_iframe = f_getElement('tcalIF')
    if (b_ieFix && !this.e_iframe) {
        this.e_iframe = document.createElement("IFRAME");
        this.e_iframe.style.filter = 'alpha(opacity=0)';
        this.e_iframe.id = 'tcalIF';
        this.e_iframe.src = this.a_tpl.imgpath + 'pixel.gif';
        document.body.appendChild(this.e_iframe);
    }

    // hide all calendars
    f_tcalHideAll();

    // generate HTML and show calendar
    this.e_icon = f_getElement(this.s_iconId);
    if (!this.f_update())
        return;

    this.e_div.style.visibility = 'visible';
    this.e_shade.style.visibility = 'visible';
    if (this.e_iframe)
        this.e_iframe.style.visibility = 'visible';

    // change icon and status
    this.e_icon.src = this.a_tpl.imgpath + 'no_cal.gif';
    this.e_icon.title = 'Close Calendar';
    this.b_visible = true;
}


Ниже приведен файл aspx, из которого я вызываю эту функцию,

&ЛТ;остальные:ASPxPopupControl идентификатор="ShpAddress" атрибут runat="сервер" модальные="истинный" PopupHorizontalAlign="WindowCenter"
PopupVerticalAlign="WindowCenter" ClientInstanceName="ShpAddress" HeaderText="выбрать адрес доставки и дата доставки :"
CloseAction="нет" AllowDragging="истинный" EnableAnimation="ложных" EnableViewState="правда"и GT;
<ContentCollection>
&ЛТ;остальные:PopupControlContentControl идентификатор="PopupControlContentControl2" атрибут runat="сервер"и GT;
&ЛТ;остальные:ASPxPanel идентификатор="ASPxPanel1" атрибут runat="сервер" умолчанию="бток"&ГТ;
& lt;PanelCollection>
&ЛТ;остальные:PanelContent идентификатор="PanelContent2" атрибут runat="сервер"и GT;
< Таблица cellpadding="0" cellspacing= "0">
<tr>
< td rowspan="3">
<div class= "pcmSideSpacer">
< / div>
< / td>
< td>
< Таблица>
<tr>
< td>
&ЛТ;как ASP:radiobuttonlist с ИД="radiolist1" ширина="300 пикселей" высота="50 пикселей" атрибут runat="сервер"и GT;
< / asp:RadioButtonList>
< br / & gt;
< / td>
< / tr>
<tr>
< td valign= "top">

&ЛТ;АСП:текстовое поле с ID="txtboxDelDate" метода onkeypress="возвращение onKeyPressForControls();" атрибут runat="server"и&ГТ; &ЛТ;/АСП:текстовое поле&ГТ;
< script language= "JavaScript" type= "text/javascript">
новый tcal ({'formname': 'aspnetForm', 'controlname': 'ctl00_MainContent_ShpAddress_ASPxpanel1_txtboxdeldate' });
< / script>
< / td>
< / tr>
<tr>
< td>
&ЛТ;АСП:метка идентификатор="lbldeldate" атрибут runat="сервер" текст = "фактическая дата поставки при условии В2В агент рассмотрение и утверждение"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / td>
< / tr>
<tr>
< td>
&ЛТ;остальные:ASPxButton идентификатор="ASPxButton1" атрибут runat="сервер" текст="ОК" ширина="80 пикселей" autopostback элемента управления="ложно"и GT;
< ClientSideEvents Click= " function (s, e) { ShpAddress.Hide ();} " />
</dx: ASPxButton>
< / td>
< / tr>
< / Таблица>
< / td>
< td rowspan="3">
<div class= "pcmSideSpacer">
< / div>
< / td>
< / tr>
< / Таблица>
< / dx: PanelContent>
< / PanelCollection>
</dx: ASPxPanel>
</dx: PopupControlContentControl>
< / ContentCollection>
& lt;ContentStyle>
& lt;Paddings PaddingBottom= "5px" />
&ЛТ;прокладки PaddingBottom="5 пикселей"&ГТ;&ЛТ;/отступы и GT;
< / ContentStyle>
</dx: ASPxPopupControl>

Не могли бы вы пожалуйста помочь мне в этом?

Спасибо и с уважением,
Аникет

1 Ответов

Рейтинг:
11

Aniket Samanta

Это уже решено. Я должен изменить CSS-файл, чтобы решить эту проблему.

Спасибо,
Аникет


DaveTheFav

Аникет, я знаю, что прошло уже больше года, но ты помнишь, какие изменения CSS тебе пришлось внести, чтобы заставить это работать?

Спасибо,
Дейв