【发布时间】:2012-06-11 13:34:55
【问题描述】:
我有一个小问题,我坚持了几天。
我下载了一个Javascriptcalendar 插件(Date Input)在我的表单中添加一个小日历。
在此表单中,我添加了一个按钮,在此表单中添加另一行以让用户设置多个日期。
<input type="button" value="Ajouter" onclick="ajoutChamp('creneau')" />
我做了一个小脚本:
var s = document.createElement('script');
s.type = "text/javascript";
s.text = "DateInput('creneau_2',true,'DD-MON-YYYY')";
$("#test").append(s);
但是当我这样做时,每次按下按钮时,我的日历都会全屏显示。看起来脚本已经执行,但没有出现在 html 页面中。
我的 html 代码的一小部分:
<table id="liste_creneau" class="add_champ">
<tr id="tr_creneau_1">
<td><label for="creneau_1">creneau 1</label></td>
<td><script id="ref_date">DateInput('creneau_1', true, 'DD-MON-YYYY')</script></td>
</tr>
</table>
<div id="test">
</div>
Atm 我想将日历附加到 div 中,但最后日历将在表格中。
我也做过其他测试,但我编写的每段代码都以同样的方式结束......
所以也许你可以帮助我! :)
编辑:
好的,我做了一个小测试
var g = document.getElementById('test');
var s = document.getElementById('ref_date');
nb++;
var clone = s.cloneNode(true);
var param = clone.firstChild.data.split('\'');
param[1] = 'creneau_'+nb;
clone.firstChild.data = param.join('\'');
g.appendChild(clone);
之后,当我点击按钮时,在 div 中插入了一个脚本标签,但没有显示任何内容。当我检查我的 html 页面时,我可以看到它,但没有出现日历...
再见
爱德华
【问题讨论】:
-
哦,是的,我也尝试克隆节点,但插件不起作用,因为他仍然在第一个节点上有引用
-
Mmmh Gabe 我在这里不使用 JQuery(或者我应该使用?^^)
-
你正在使用 jquery,这行:
$("#test").append(s); -
好吧,我正在学习一些我不知道这是 jQuery 的东西:p 但遗憾的是,我的 .... 中已经有了 jQuery 源代码
-
我发现 Edouard Moinard 使用的日历插件是使用
document.write()来添加内容的。当我们动态添加脚本时(使用 'DateInput' 方法),它所做的就是将日历的内容写入正文。然后我在页面document.write("hi");上执行了这个,然后我检查了代码,只有这个<html><head></head><body>hi</body></html>。这也是在这种情况下发生的事情!动态调用DateInput将替换文档的元素!我无法解决此问题。我们怎样才能帮助他?
标签: javascript jquery html append