2012-01-12 86 views
0

我有一个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

回答

0

广场形式的文本和输入字段到一个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; 
} 
1

您可以通过body(可能递归)的子节点使用DOM循环,收集text nodesnodeValue属性(这些都是含"This is the first field "和这样的位),并在您遇到inputelement,取而代之的是它的value属性。将所有文本构建成一个字符串,然后你就在那里。

一些参考:

+0

谢谢,我的业余尝试在最后发布了结果。 – Waslap 2012-01-12 11:25:43

相关问题