修改了个日历控件:
以前是这样调用的 :<div ><input type="text" name="date" id="date" onblur="checkDate(this);" onClick="setDay(this);"></div>这样没问题
现在 呢 想给后面加个图片,点击图片才显示日历控件,代码如下:<input type="text" name="date" id='date' onblur ="if(!checkDate(this)){alert('格式不对')};" />
<img src="date.gif" onClick="setDay(document.getElementById('date'));"/></div>这样 日历控件反而出不来了,我就在setDay方法内部显示日历控件的地方加了个alert,这个时候日历竟然能出来,点击确定后,日历又没有了 ,哪位能告诉原有么~
以前是这样调用的 :<div ><input type="text" name="date" id="date" onblur="checkDate(this);" onClick="setDay(this);"></div>这样没问题
现在 呢 想给后面加个图片,点击图片才显示日历控件,代码如下:<input type="text" name="date" id='date' onblur ="if(!checkDate(this)){alert('格式不对')};" />
<img src="date.gif" onClick="setDay(document.getElementById('date'));"/></div>这样 日历控件反而出不来了,我就在setDay方法内部显示日历控件的地方加了个alert,这个时候日历竟然能出来,点击确定后,日历又没有了 ,哪位能告诉原有么~
可以看看:
<input type="text" name="date" readOnly="readOnly" onClick="setDay(this);">
<div id=div1 style="position:relative; border:1px solid black; left:0px; top:0px; width:100px; height:100px;display:none;"></div>
<script type="text/javascript">
function setDay(txt){
var div = document.getElementById("div1");
div.style.display="block";
div.style.left=txt.offsetWidth + 5;
div.style.top=5;
}
</script>
<div style="border:1px solid blank;">这是下面其他本内容,日历控件应该显示在这些文字之上才对</div>
那就改改吧,让日立控件相对于 input外面的容器绝对定位: <div style="position:relative;left:300px;border:1px solid green;">
<input type="text" name="date" readOnly="readOnly" style="height:20px" onClick="setDay(this);">
<div id="myDiv" style="position:absolute;left:5;top:25; width:100px;height:100px;border:1px solid red;display:none;"></div>
<div style="border:1px solid blank;">这是下面其他本内容,日历控件应该显示在这些文字之上才对</div>
</div>
<script type="text/javascript">
function setDay(txt){
var div = document.getElementById("myDiv");
div.style.display="block";
}
</script>
<img src="date.gif" onblur ="if(!checkDate(this)){alert('格式不对')};" onClick="setDay(document.getElementById('date'));"/>