不显眼的Javascript来插入包含Rails RESTful URL的元素?

时间:2009-03-11 19:43:38

标签: javascript jquery ruby-on-rails ruby

我有一个包含单个渲染的iFrame的简单页面。有一个名为“添加文件”的链接,并且不引人注意地我想将一个事件附加到“添加文件”锚点,以便在单击时,它会在现有的iFrame下面插入一个新的iFrame,其中iFrame的ID会增加。

iFrame的一个例子是:

<iframe name="uploadForm1" id="uploadForm1" src="<%= upload_file_url %>" height="50" width="800" frameborder="0" scrolling="no"></iframe>

然后当点击“添加文件”按钮时,我最终得到:

<iframe name="uploadForm1" id="uploadForm1" src="<%= upload_file_url %>" height="50" width="800" frameborder="0" scrolling="no"></iframe>
<iframe name="uploadForm2" id="uploadForm2" src="<%= upload_file_url %>" height="50" width="800" frameborder="0" scrolling="no"></iframe>

最好的方法(jQuery或Prototype)可以用来做什么?

然而,这似乎非常微不足道,因为我需要渲染upload_file_url路由,我不太确定如何在不浪费大量时间的情况下接近它!

感谢任何帮助!

1 个答案:

答案 0 :(得分:5)

这应该适合你:

var g_maxNum = 1; // The latest iframe number

function copyIframe()
{
    // Get the latest iframe
    var iframe = document.getElementById('uploadForm' + g_maxNum);
    g_maxNum++

    // Create a new iframe by cloning the existing one
    var newIframe = iframe.cloneNode(true);
    // Update the properties
    newIframe.name = 'uploadForm' + g_maxNum;
    newIframe.id = newIframe.name

    // Insert it after the last iframe
    iframe.parentNode.insertBefore(newIframe, iframe.nextSibling);
}