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

私は今、このページを表示し、フィールド2にフィールド1とXYZにABCを入力すると、私はそうのようなテキストの一部を作成するためにJavaScriptを使用する方法を知りたいのです:

これは最初のフィールドABCであり、これは2番目のXYZです。

したがって、Webページ自体は動的に変更する必要はなく、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

あなたは、あなたがinputelementに遭遇nodeValuetext nodesの性質(これらは"This is the first field "と、このようなを含むビットある)とを、収集、(おそらく再帰的に)bodyの子ノードをループにDOMを使用することができます代わりにvalueプロパティを取得しています。その文字列をすべて文字列に組み立てれば、そこにいます。

いくつかの参照:

+0

ありがとうございました。私の素人の試みは結果を最後に投稿しました。 – Waslap

関連する問題