2012-09-29 21 views
11

Il mio problema è che non so come mostrare l'innerhtml della mia forma.Come posso usare innerhtml in JavaScript?

La forma è come una forma di indagine e una volta che si è fatto clic sul pulsante di invio, tutti i contenuti avevo risposto mostrerebbe come una pagina di riepilogo ...

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

Per uno che avrei sbarazzarsi di quella finale '" '. – jli

+0

Scopri JSFiddle (http://jsfiddle.net) e mettere un esempio di codice HTML e JS, in modo da poter vedere cosa DOM stai lavorando con – Dancrumb

+0

http://jsfiddle.net/8TtxV/ qui è :( – ghie

risposta

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

Nella seconda riga il gioco è sovrascrivere la variabile, non è l'impostazione del .innerHTML. Questo è ciò che si vuole:

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

Inoltre, è necessario assicurarsi che gli elementi con ids di "prima" "middle" e "ultima" in realtà esiste, o potrebbe causare un TypeError.

+0

grazie! lo sto provando – ghie

+0

@ghie Assicurati di avere un elemento con un id uguale a "content" .Come questo: 'id =" content "'. Inoltre, assicurati che gli elementi con ids di "first" "middle" e "last" esistano effettivamente – 0x499602D2

+0

oh .. vedo Penso che ho dimenticato la cosa id -.- grazie! – ghie

0

Invece di questo:

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

Prova questa:

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

Si consiglia inoltre di utilizzare .innerHTML per ottenere 'prima', piuttosto che un .value? Non sono sicuro del tipo di elemento "primo".

+0

grazie! l'ho provato già ma non mostra nulla :(cosa pensi sia il problema con quello? scusa ... sono stato appena nuovo in javascript .. :( – ghie

+0

Davvero? Funziona bene per me (aspetta 5 secondi): http://jsfiddle.net/QWyuT/ – jrajav

+0

Anche aggiunto alla mia risposta – jrajav

0

Qual è il tuo elemento con ID "contend", un div? td? tr? o ? Il modo in cui dovrebbe essere è

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

e poi questo è il codice javascript

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

Prova questo:

Ma, si dovrebbe avere id come prima. e dovresti aver bisogno di div del contenuto nella parte html.

<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> 
Problemi correlati