JavaScript将表单输入内容粘贴到正文文本中
问题描述:
我有一个HTML表单,其中包含输入文本字段,我希望将其粘贴回HTML主体,从而生成由JavaScript函数返回的文本字符串,例如,输入字段是顺序的。一个简单的例子是: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>
现在当我浏览这个页面,并输入到ABC场1和XYZ到2场,我想知道如何使用JavaScript来创建一段文字,如下所示:
这是第一个字段ABC,这是第二个XYZ。
所以仅仅是明确的,网页本身不需要动态改变,我只希望能够从其他地方调用JavaScript函数,然后得到结果文本回来无论是当前输入,粘贴到主体。 任何帮助非常有义务。 Tiaan
答
广场形式的文本和输入字段到一个div,并调用makeRecursive()(即无参数)启动文本创建。
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;
}
答
您可以通过body
(可能递归)的子节点使用DOM循环,收集text nodes的nodeValue
属性(这些都是含"This is the first field "
和这样的位),并在您遇到input
element,取而代之的是它的value
属性。将所有文本构建成一个字符串,然后你就在那里。
一些参考:
谢谢,我的业余尝试在最后发布了结果。 – Waslap 2012-01-12 11:25:43