2012-03-03 54 views
0

我可以動態地用同一個html頁面上的textarea的值替換h1元素的值。但是,一旦我在頁面上放置多個表單,在一個表單上放置h1標籤,並將textarea放置在另一個表單上,當我嘗試僅使用純JavaScript使用textarea值更新h1值時,什麼都不會發生。用另一個表單元素的textarea值動態更新h1元素

我試過getElementById,getElementByTagName,innerHTMLsetAttribute無濟於事。這是不可能的,或者我錯過了什麼?我在網上找不到解決此問題的單個示例。

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(文本)。價值; }

+2

發佈您的代碼。你所談論的是完全可能的,但是沒有人能夠在沒有看到當前代碼中存在什麼問題的情況下爲你提供幫助。 – 2012-03-03 01:19:37

+0

添加了代碼Nathan。希望它是有道理的。 JS新手。 – 2012-03-03 01:46:45

回答

3

用一個簡單的function用的適當ID

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

然後在你的formonsubmit()一套用它來return false

<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

我只是試過這個'faino,但沒有運氣。你可以看看我的代碼,並告訴我我做錯了什麼。謝謝。 – 2012-03-03 01:48:03

+0

您需要在表單上爲表單返回false,以便在不重新加載頁面的情況下運行腳本;檢查我的工作腳本的答案。 – faino 2012-03-03 01:56:28

+0

終於!謝謝@faino!我在我的智慧結束。非常感謝。 – 2012-03-03 02:12:58

相關問題