2012-03-03 19 views
0

h1要素の値を、同じhtmlページにあるtextareaの値に動的に置き換えることができます。しかし、一度フォームに複数のフォームを配置すると、あるフォームのh1タグを別のテキストエリアに配置すると、h1値をtextarea値で更新しようとすると何も起こりません。h1要素を別のフォーム要素のテキストエリア値で動的に更新する

私はgetElementByIdgetElementByTagNameinnerHTMLおよびsetAttributeを使用してみました。これは不可能か、何かが欠けている?私はこれに対処するウェブ上の一例を見つけることができません。

UPDATE:

<form id=form1 action=""> 
    <h1 id="h1tag">I'm H1</h1> 
    </form> 

    <form> 
    <label for='text1'>Change H1:</label> 
    <input type="textarea" value="" id="text1"/> 
    <button onclick="newHeading();">newHeading()</button> 
    </form> 

外部のjavascript: 関数newHeading(){ のdocument.getElementById(h1tag).innerHTML =のdocument.getElementById(テキスト1).VALUE。 }

+2

。あなたが話していることはまったく可能ですが、あなたの現在のコードで何が問題になっているかを見ることなく、誰もあなたを助けることはできません。 –

+0

コードNathanを追加しました。それが理にかなってほしい。 JS初心者。 –

答えて

3

return falseからonsubmit()セットでごformでそれを使用し、適切IDさん

function updateH1(ta,h1) { 
    var textArea=document.getElementById(ta),header=document.getElementById(h1); 
    if(textArea.value) { 
     header.innerHTML=textArea.value; 
    } 
    else { 
     textArea.focus(); 
    } 
} 

でシンプルなfunctionを使用してください:あなたのコードを投稿

<h1 id="test_h1">This will change</h1> 
<form onsubmit="return false;"> 
    <label for="text1">Change H1:</label> 
    <input type="text" value="" id="text1"/> 
    <button onclick="updateH1('text1','test_h1');">updateH1()</button> 
</form> 
+0

私はちょうどこれを試してみましたが、運がありません。上のコードを見て、私が間違っていることを教えてください。ありがとう。 –

+0

ページをリロードせずにスクリプトを実行するには、フォームに 'return false'を設定する必要があります。作業スクリプトの私の答えをチェックしてください。 – faino

+0

最後に!感謝@faino!私はそこに私の知恵が終わった。どうもありがとう。 –

関連する問題