2016-10-08 2 views
0

Ich habe ein kleines Problem in JavaScript. Ich mache eine Galerieseite. Es gibt ein Icon mit "Onclik", das die Funktion "comment" aufruft.Holen Sie "Wert" und verwenden Sie es in einer anderen Funktion

function comment() { 

var div = document.getElementById("commentdiv"); 
var input = document.createElement("textarea"); 
var btn = document.createElement("BUTTON"); 
var t = document.createTextNode("ADD"); 

input.name = "post"; 
input.maxLength = "5000"; 

btn.appendChild(t); 
document.body.appendChild(btn); 

div.appendChild(input); 
div.appendChild(btn); 
btn.style.width='100%'; 
btn.style.height='30px'; 

input.style.width='100%'; 
input.style.height='150px'; 

msn = input.value; 
btn.onclick=write; 

} 

Aber es gibt ein Problem. Wenn ich input.value, gibt es nichts in der Eingabe. Ich möchte in msn den Text schreiben, den Leute im Textfeld schreiben. Wenn ich die zweite Funktion aufrufen, schreibt nicht, weil leer ist.

function write() { 


document.getElementById("commentdiv").innerHTML += + msn ; 

} 

Danke :)

Antwort

1

Da msn Wert genommen wurde, als Element wurde gerade erstellt haben, Sie frische Werte aus dem textarea

function write() 
{ 
    document.getElementById("callate").innerHTML += document.querySelector("#commentdiv textarea").value ; 
} 
+0

Das war das Problem. Vielen Dank. :) – Nogus

0

Sie haben verwenden msn als globale Variable nehmen müssen . Entfernen Sie auch + links von der msn

var msn; 
function comment() { 
    msn = input.value; 
} 

function write() { 
    document.getElementById("commentdiv").innerHTML += msn; 
} 
0

Ändern Sie die write Funktion sein:

function write() { 
    document.getElementById("commentdiv").innerHTML += input.value ; 
} 
Verwandte Themen