我想创建一个textarea和一个分区,这样无论你在textarea中放入什么嵌入代码,它都会在分区上实时执行。
非常感谢您的帮助!
JavaScript新手
这是一次尝试:
<script type="text/javascript">
var X = " HTML or JavaScript "
window.onload=function()
{
document.getElementById("result").innerHTML = document.getElementById("input").value;
}
</script>
<textarea id="input" cols="35" rows="7"> X </textarea>
<div id="result"></div>
答案 0 :(得分:1)
当您单击textarea之外的任何位置时,这将评估textarea的内容。 (代码更新以将源(<textarea/>
)的结果设置为HTML,如果源以小于('&lt;')开头或将源代码评估为Javascript。)
<textarea id="js" onBlur="run(this)"></textarea>
<div id="result">Result goes here!</div>
<script type="text/javascript">
function run(elt){
var target_div=document.getElementById('result'),
result='';
if(target_div) {
if(elt.value.match(/^\s*</)) { // content of textarea begins with less-than
result=elt.value;
}
else { // eval content of textarea as Javascript
try {
result=eval(elt.value);
}
catch (e) {
alert('failed to eval source:'+e.description);
}
} // else match
if(result) {
target_div.innerHTML=result;
}
} // if target_div
return false;
} // end run
</script>
当然,通常认为允许用户执行任意代码是一个非常糟糕的想法。 ; - )
答案 1 :(得分:0)
查看Eval()
以下是一些可以帮助您入门的代码。
<textarea id='js'>window.alert('Hello Cruel World');</textarea> <input type=submit onclick="run()" value="run">
<script>
function run ()
{
eval(document.getElementById('js').value);
}
</script>