2012-01-12 103 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

相關問題