从文本区域执行代码

时间:2014-03-19 15:59:49

标签: javascript

我有一个页面接受文本区域中的Javascript代码。我想在用户按下运行按钮时运行该代码。

以下是可能的:

var programFunction = new Function(document.getElementById('program').value);

<button type="button" onclick="programFunction">run</button>

假设textarea程序中包含以下内容:

document.getElementById('program').value = 'Tested';

当我尝试自己测试时,我没有收到任何错误,但我也没有得到任何输出。

2 个答案:

答案 0 :(得分:4)

你需要你的&#34;运行&#34;用于处理和运行代码的按钮。

最简单的,它只是:

onclick="eval(document.getElementById('program').value);"

请注意,在这种情况下,eval完全可以提供,程序字段的值只能来自用户自己的输入,而不是其他任何人#&# 39; S

答案 1 :(得分:2)

您的代码中存在一些错误:

  • 您似乎尝试在获得值之前访问textarea的内容。
  • 您没有运行您创建的功能。

按下按钮时,您必须检索texarea的值,而不是之前。仍然使用Function,它看起来像:

<script>
function runCode() {
    var source = document.getElementById('program').value;
    var func = new Function(source);
    func();
}
</script>
<button type="button" onclick="runCode()">run</button>