【问题标题】:Append a script into a div将脚本附加到 div
【发布时间】: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"); 上执行了这个,然后我检查了代码,只有这个&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;hi&lt;/body&gt;&lt;/html&gt;。这也是在这种情况下发生的事情!动态调用DateInput 将替换文档的元素!我无法解决此问题。我们怎样才能帮助他?

标签: javascript jquery html append


【解决方案1】:

我不明白您为什么不只是运行日期输入行。应该有同样的效果。

DateInput('creneau_2',true,'DD-MON-YYYY');

无论如何,您都可以尝试在 jQuery 中完成所有操作,而不是混合使用 javascript 选择器。

$("#test").append("<script type='text/javascript'>DateInput('creneau_2',true,'DD-MON-YYYY');</script>");

【讨论】:

  • 有了这段代码,我遇到了同样的问题,因为我解释了日历“覆盖”我的 html 页面,唯一剩下的就是这个日历:s
【解决方案2】:

好吧,我选择使用 jQuery-UI 日期选择器...所以我想它已经解决了,非常感谢 Agentminlindu 和所有其他人:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-26
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2013-07-14
    相关资源
    最近更新 更多