2012-09-29 33 views
11

我的問題是我不知道如何顯示我的表單的innerhtml。如何在JavaScript中使用innerhtml?

的形式就像是一個調查表,一旦你點擊我已經回答將顯示像摘要頁面的提交按鈕,所有的內容...

function displayResult() { 
    var first = document.getElementById("first").value; 

    var middle = document.getElementById("middle").value; 

    var last = document.getElementById("last").value; 

    alert("oh"); 
    var maincontent = document.getElementById("content").innerHTML; 
    maincontent = "<p>" + first; 

} 
+0

對於一個我想擺脫尾隨'「'的。 – jli

+0

退房的jsfiddle(http://jsfiddle.net),並把你的HTML和JS的例子,讓我們看到了什麼DOM你與 – Dancrumb

+0

http://jsfiddle.net/8TtxV/在這裏工作是:( – ghie

回答

9
var maincontent = document.getElementById("content").innerHTML; 
maincontent = "<p>" + first; 

在第二行覆蓋變量,而不是設置.innerHTML。這是你想要什麼:

var maincontent = document.getElementById("content"); 
maincontent.innerHTML = "<p>" + first; 

此外,還必須確保與「第一」,「中等」和「最後」的ID的元素實際存在的,或者這可能會導致TypeError

+0

感謝一直試圖就 – ghie

+0

@ghie確保你有一個元素! id爲「content」,像這樣:'id =「content」'。另外,確保id爲「first」,「middle」和「last」的元素實際存在。 – 0x499602D2

+0

哦,我明白了。你!我想我忘了身份證的東西 - .-謝謝你! – ghie

0

取而代之的是:

var maincontent = document.getElementById("content").innerHTML; 
maincontent = "<p>" + first;` 

試試這個:

document.getElementById("content").innerHTML = "<p>" + first; 

您可能還需要使用.innerHTML拿到 '第一',而不是.value的?我不確定'第一'是什麼樣的元素。

+0

謝謝!我已經嘗試過,但它沒有顯示任何東西:(你認爲是什麼問題呢?對不起...我只是在JavaScript中新的.. :( – ghie

+0

真的嗎?它適用於我(等待5秒):http://jsfiddle.net/QWyuT/ – jrajav

+0

也加入到我的回答 – jrajav

0

什麼是你的元素ID「競爭」,一個div? TD? TR?要麼 ?它應該是的方式是

<div id='content'> 
    </div> 

,然後這是javascript代碼

document.getElementById("content").innerHTML = "<p>" + first + middle + last + "</p>" 
5

試試這個:

但是,你應該有id作爲第一個。 ,你應該在html部分需要內容div。

<script> 
function displayResult() { 
    var first = document.getElementById("first").value; 

    var maincontent = ""; 
    maincontent = "<p>" + first + "</p>"; 
    document.getElementById("content").innerHTML = maincontent; 

} 
</script> 
<body> 
<input type="text" id="first" value="good"> 
<button onclick="displayResult();">Click me!!!</button> 
<div id="content"></div> 
</body>