![](/img/trans.png)
[英]JavaScript - updating <textarea> value under certian conditions and append it to a <div>
[英]Updating div from textarea value
我正在尝试创建一种类似于W3schools的Tryit编辑器的工具,但是它无法正常工作。 我几乎完成了与jsfiddle相同的操作,但是没有用。
这是Javascript函数。
function update(){
var value = document.getElementById('textinput').value;
var change = document.getElementById('change');
change.innerHTML = value;
}
超级困惑在这里。 有什么帮助吗? 提前致谢。
<textarea class="textinput" rows=10 cols=50></textarea>
应该:
<textarea id="textinput" rows=10 cols=50></textarea>
如果您在JSFiddle中尝试此操作,则除非在Frameworks&Extensions选项卡的<head>
中将onDomready更改为No wrap-,否则它将无法正常工作。
我不是内联onClick
事件的粉丝,所以将其移至JS:
document.getElementById("button").onclick = function(){
var value = document.getElementById('textinput').value;
var change = document.getElementById('change');
change.innerHTML = value;
}
编辑:直到我将设置更改为No wrap - in <body>
为止,内联onClick
才对我不起作用。
您的HTML也有一些错误,例如通过id
引用textarea
,但是您给了它一个class
好吧,好吧,我玩得很开心,想知道会发生什么问题。
你有过
getElementByID()
连接到一个class
。
为了使其能够在JSFIDDLE中工作,我不得不
window.update = update;
进入代码。
但是,请使用@Charlie的分隔符代码!! :)
JSFIDDLE: http : //jsfiddle.net/XHVL2/4/
我更喜欢一个实时编辑器,而不需要单击W3sc''s类似按钮...
<body>
<div id="content">
<header>
<h1 class="maintitle">TEST HTML/CSS CODE</h1>
</header>
<h1>Input:</h1>
<textarea id="textinput" rows=10 cols=50></textarea>
<h1>Output:</h1>
<div id="result" style="border:2px solid #ccc;">(No HTML)</div>
</div>
</body>
var doc = document;
function el(id){
return doc.querySelector(id);
}
function applyResult(){
el("#result").innerHTML = this.value;
}
el("#textinput").addEventListener('keyup', applyResult, false);
或提供一种更简单的方式来处理事件,例如: 键入,粘贴,更改,属性更改等...
使用jQuery:
var $res = $('#result'),
$inp = $('#textinput');
$inp.on('input', function(){ $res.html( this.value ); });
您的textinput
应该是一个id
,而不是一个class
因为您正在使用getElementById
:
<textarea id="textinput" rows="10" cols="50"></textarea>
为了能够运行它,它是JSFiddle, No wrap - in <body>
左上方的Frameworks&Extensions面板的No wrap - in <body>
中将onLoad
设置为No wrap - in <body>
wrap-。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.