繁体   English   中英

从textarea值更新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;
        }

这是JSFiddle。

超级困惑在这里。 有什么帮助吗? 提前致谢。

<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:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM