我从互联网上获得了这个弹出日历,我可以使用IE
运行它。但是,当我尝试使用Firefox
或Chrome
进行浏览时,弹出日历无效。
这是<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>
日历在工作时看起来像这样:
任何与Firefox
&amp;有冲突或不兼容的代码Chrome
?
答案 0 :(得分:1)
我发现了什么是狼人。在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="..."/>
问题是,即使IE browse
只有input
属性,name
也能以某种方式解决问题。但对于Firefox
和Chrome
的情况,getElementById
在控件中存在id
属性后才会起作用。