#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 ;
}