【问题标题】:Why won't JavaScript run?为什么 JavaScript 不能运行?
【发布时间】:2014-05-28 21:15:14
【问题描述】:

我正在制作一个 HTML 代码编辑器,我测试了所有我知道的 HTML 标签,它们都可以工作,除了脚本标签。

当我在文本区域中输入<script>something</script> 并单击按钮时,脚本不会执行。

请帮忙!代码如下:

<span id="finishedProduct">
<p>When you enter code, your finished product will be here! Don't worry, if you make a mistake you  can fix it later!</p>
</span>
<form name="userCode">
<textarea name="userCode" cols="90" rows="20" placeholder="Type your code here"></textarea></br>
<a href="javascript:makeCode()"><button type="button">Run Code!</button></a>
</form>
<script>
function makeCode() {
var userCode=document.forms["userCode"]["userCode"].value;
document.getElementById('finishedProduct').innerHTML = userCode;
}
</script>

【问题讨论】:

标签: javascript html css editor


【解决方案1】:

这是工作代码:

<span id="finishedProduct">When you enter code, your finished product will be here! Don't worry, if you make a mistake you  can fix it later!
</span>
<form name="userCode">
    <textarea name="userCode" cols="90" rows="20" placeholder="Type your code here"></textarea>
    <br/>
    <button type="button" onClick="makeCode()">Run Code!</button>
</form>
<script type="text/javascript">
    function makeCode() {
        var userCode=document.forms["userCode"]["userCode"].value;
        document.getElementById('finishedProduct').innerHTML = userCode;
    }
</script>

这里是 JSFiddle 的链接:http://jsfiddle.net/Q2qLF/。我删除了一些损坏的 HTML,例如;一个按钮不应包含在锚标记中,我在您的按钮中添加了一个“onclick”,它将调用“makeCode()”函数,并且我已将“type="text/javascript"”添加到您的script 标签,因为这样可以最大限度地提高兼容性。

如果您需要更多帮助,请告诉我

我已经更新了我的 JSFiddle http://jsfiddle.net/Xanco/Q2qLF/1/ 现在有 2 个文本区域,一个用于 HTML,一个用于 Javascript。我还创建了一个名为“makejs”的新函数,它获取 Javascript 文本区域的值并通过“eval”运行它 - 这将执行传递给它的 Javascript。

【讨论】:

    【解决方案2】:

    我已经把答案放在了这里:http://jsfiddle.net/joshnicholson/P8eh9/

    我不确定您为什么要将按钮元素包装在锚点内,但我会以稍微不同的方式来做。

    这是修改后的javascript:

    var myButton = document.getElementById("btnRunCode");
    
    myButton.addEventListener("click", makeCode);
    
    function makeCode() {
        var userCode=document.forms["userCode"]["userCode"].value;
        document.getElementById('finishedProduct').innerHTML = userCode;
    }
    

    我为您的按钮元素添加了一个“btnRunCode”的 id,只是为了让我更轻松。见小提琴。

    【讨论】:

    • 不知道为什么这被否决了,因为它完全符合 OP 的要求。此外,@Xanco 提交的答案本质上只是我的答案的冗长版本。
    • 它没有按照 OP 的要求做,Xanco 的回答没有。
    • @Quentin 你是对的。我误解了OP的问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-04-16
    • 2011-07-22
    • 2019-03-21
    • 2012-09-01
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    相关资源
    最近更新 更多