簡體   English   中英

日歷彈出窗口在Firefox和Chrome中不起作用

[英]Calendar Pop-Up not working in Firefox & Chrome

我從互聯網上獲得了這個彈出式日歷,可以使用IE來運行它。 但是,當我嘗試使用FirefoxChrome ,彈出式日歷無法正常工作。

這是<head> DL calendar.js中的外部js文件位置:

<script src="../script/calendar.js?d6aa97d33d459ea3670056e737c99a3d" 
     type="text/javascript"></script>

HTML中的代碼:

<input type="text" readonly="readonly" class="blackcopy" name="txtReadyDate" id="txtReadyDate" size="10" maxlength="10" value="">
<input type="button" name="btnStartShipDate" style="width: 30px; height: 19px" value="..."/>

我有此javascript代碼,可觸發按鈕中的click事件。 它與其余代碼放在最后一部分:

<script type="text/javascript">
    var sDetector;
    var sStop;

    calendar.set("btnStartShipDate", "txtReadyDate", "left", 130, -20, document.frmObject.txtReadyDate.value);

    function onMouseMove(val) {
        if (sStop == 'stop') {
            return false;
        }
        sDetector = val;
    }

    function sHide() {
        if (sStop == 'stop') {
            sStop = "";
            calendar.hideCalendar()
        }

        if (sDetector == 'hide') {
            calendar.hideCalendar()
            sDetector = "";
        }
    }
</script>

日歷工作時如下所示:

在此處輸入圖片說明

那里有沖突或與FirefoxChrome不兼容的代碼嗎?

我發現了什么。 calendar.js的代碼中的某些位置,您將看到如下代碼:

var input = document.getElementById(input_id);

實際上是指此輸入:

<input type="button" name="btnStartShipDate" style="width: 30px; height: 19px" value="..."/>

由於getElementById引用了一個id ,因此需要將其設置為id屬性,如下所示:

<input type="button" id="btnStartShipDate" name="btnStartShipDate" style="width: 30px; height: 19px" value="..."/>

事實是,即使input僅具有name屬性, IE browse可以以某種方式解決該問題。 但是對於FirefoxChrome ,直到控件中具有id屬性, getElementById才起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM