JavaScript将表单输入内联粘贴到正文文本中

时间:2012-01-12 09:26:15

标签: javascript

我有一个带有输入文本字段的HTML表单,我希望将其粘贴回HTML正文,从而生成由JavaScript函数返回的文本字符串,即在输入字段按顺序排列的位置。一个简单的例子是:

<html>
<body>
This is the first field <input type="text" id="first"/>
and this is the second <input type="text" id="second"/> one.
</body>
</html>

当我现在查看此页面并在字段1中输入ABC并在字段2中输入XYZ时,我想知道如何使用JavaScript创建一段文本,如下所示:

  

这是第一个字段ABC,这是第二个XYZ字段。

所以,为了清楚起见,网页本身不需要动态更改,我只希望能够从其他地方调用JavaScript函数,然后使用当前输入的任何内容返回结果文本,粘贴到正文中。 任何帮助很多。 Tiaan

2 个答案:

答案 0 :(得分:1)

您可以使用DOM循环遍历body的子节点(可能递归),收集nodeValuetext nodes属性(包含"This is the first field "的位在您遇到input element的情况下,获取其value属性。将所有文本构建成一个字符串,然后就可以了。

一些参考文献:

答案 1 :(得分:0)

将表单文本和输入字段放入div并调用makeRecursive()(即没有args)来启动文本创建。

function makeRecursive(o)
{
    var b = o || document.getElementsByTagName('div')[0];
    var t = "";
    if (b.nodeType === 1 && b.tagName === "INPUT")
        t += b.value;
    else if (b.nodeType === 3)
        t += b.nodeValue;
    if (b.hasChildNodes())
    {
        var c = b.firstChild;
        while (c)
        {
            t += makeRecursive(c);
            c = c.nextSibling;
        }
    }
    return t;
}