+ -
当前位置:首页 → 问答吧 → 请教:$.ajax()调用某一页面(含My97DatePicker时间控件),返回HTML添加到div后为什么时间控件失效呢?

请教:$.ajax()调用某一页面(含My97DatePicker时间控件),返回HTML添加到div后为什么时间控件失效呢?

时间:2009-06-18

来源:互联网

如题描述:
这个是测试的例子: 桌面.rar (40 K) 下载次数:7

主要包括二个页面:index.html和jt1.html
index.html调用jt1.html

想把返回的数据添加到index.html的一个<div>中,但添加到<div>后那个时间控件不能使用了。
是不是返回的jt1.html里面的JS没有被加载呢?迷茫中,望高手解答,期待中。。

下面是二个页面的源文件:
index.html
--------------------------------------------------
<title>Untitled Document</title>
<script src="jquery.js" type="text/javascript"></script>
<script>
function dosome(){
     $.ajax({
                type: "get",
                url: "jt1.html",
                success: function(data) {
                   $("div").html(data);
                },
                error: function() {
                                alert("error");
                }
          });
}
</script>
</head>

<body>
<input type=button value="调用jt1.html" onclick="dosome()">
<table width="200" border="1" id="tb1">
  <tr>
    <td> tb1a</td>
    <td> tb1b</td>
    <td> tb1c</td>
  </tr>
  <tr>
    <td>
        <div id="div"></div>
    </td>
  </tr>
</table>

<span></span>
</body>
</html>
--------------------------------------------------


被调用页面:jt1.html
--------------------------------------------------
<script language=javascript src="My97DatePicker/WdatePicker.js" defer="defer"></script>
<script>
alert("hello1");
</script>
<script>
alert("hello2");
</script>
<input type="text" class="Wdate" id="d122" onFocus="WdatePicker({isShowWeek:true,onpicked:function() {$dp.$('d122_1').value=$dp.cal.getP('W','W');$dp.$('d122_2').value=$dp.cal.getP('W','WW');}})"/>
--------------------------------------------------
[ 此帖被rianpeny在2009-06-18 15:39重新编辑 ]

作者: rianpeny   发布时间: 2009-06-18

首先想说的是你的代码极不规范,defer属性是IE私有的,div里不能包含script标签

至于不能用的原因,我看了下My97DatePicker.htm,他用了document.write来生成代码,而在网页已经加载完毕后,是不能用document.write的

你去换个插件吧,官方的jQuery UI就有日期插件


而且你这东西完全没必要用ajax,一个iframe不就ok了,不想显示时hide一下就行了

作者: keakon   发布时间: 2009-06-18

相关阅读 更多