Получить «значение» и использовать его в другой функции

#javascript #jquery #html #dom

#javascript #jquery #HTML #dom

Вопрос:

У меня небольшая проблема в JavaScript. Я делаю страницу галереи. Есть значок с надписью «Onclik», который вызывает функцию «комментарий».

 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;

}
  

Но есть проблема. Когда я делаю input.value, во входных данных ничего нет. Я хочу в msn текст, который люди пишут в текстовой области.
Когда я вызываю вторую функцию, она не записывается, потому что пуста.

 function write() {


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

}
  

Спасибо 🙂

Ответ №1:

Поскольку msn значение было принято, когда элемент был только что создан, вам нужно взять новые значения из textarea

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

Комментарии:

1. Это была проблема. Большое вам спасибо. 🙂

Ответ №2:

Вы должны использовать msn в качестве глобальной переменной. Также удалите левую часть msn

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

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

Ответ №3:

Измените write функцию, чтобы быть :

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