2014-02-25 125 views
0

我從互聯網上獲得了這個彈出日曆,我可以使用IE運行它。但是,當我試圖使用FirefoxChrome瀏覽它時,彈出日曆不起作用。日曆彈出窗口不能在Firefox和Chrome中工作

這是外部js文件發生在<head>DL calendar.js:在HTML

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

代碼:

<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代碼。這是發生在最後一部分與代碼的其餘部分:

<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> 

日曆看起來是這樣的,當它工作:

enter image description here

任何代碼存在具有衝突或不兼容Firefox & Chrome

+0

腳本不需要在document.load中嗎? –

+0

'calendar.js'的內容是什麼?強烈建議你使用jQuery UI的日期選擇器 – Raptor

+0

嗨,謝謝你的迴應。我編輯了我的文章,幷包含calendar.js的下載鏈接 – Stuart

回答

1

我發現什麼是worng。在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,getElementById的情況,在控件中存在id屬性之前不起作用。

+0

幫助我節省了很多 – Angelo

相關問題