Javascript 未捕获引用错误:未在HtmlButtoneElement.onclick上定义函数

Javascript 未捕获引用错误:未在HtmlButtoneElement.onclick上定义函数,javascript,html,Javascript,Html,下面是我一直在处理的一个索引页面的html。我想创建一个带有onclick功能的按钮来说“helloworld”。所以我使用了页面底部的脚本,但是按钮触发了描述的错误 最让人困惑的是,在我更改函数名称之前,该按钮一直运行良好。从那以后,我就遇到了麻烦,即使我将函数的名称改回现在的名称 <body> <h1>Play Color Trivia</h1> <div id="message"> </div> <button onclic

下面是我一直在处理的一个索引页面的html。我想创建一个带有onclick功能的按钮来说“helloworld”。所以我使用了页面底部的脚本,但是按钮触发了描述的错误

最让人困惑的是,在我更改函数名称之前,该按钮一直运行良好。从那以后,我就遇到了麻烦,即使我将函数的名称改回现在的名称

<body>
<h1>Play Color Trivia</h1>
<div id="message">
</div>
<button onclick="sayhello()">speak</button>
<button id="roll_button" onclick="color_roll()">Color Roll</button><br><br>
<div id="color_box">
    <div id="score_box">
        <ul id="list" style="list-style-type: none">
            <%= erb :token %>
        </ul>
    </div>
</div><br><br>      
<div id="button_box">
    <form id="color_form" method="post" target="frame">
</form>
</div><br><br>      
<div id="question_box">
</div>
<div id="results">
</div>
<script src="/script.js" type="text/javascript">
</script>
<script src="http://code.responsivevoice.org/responsivevoice.js">
    function sayhello(){
        responsiveVoice.speak("hello world");
    }
</script>
<iframe id="frame" name="frame"></iframe>

如果引用了外部脚本,则不会执行内部脚本

如果引用了外部脚本,则不会执行内部脚本

,如中所述

如果
有一个src,那么元素的文本内容将不会作为JS执行(尽管它会出现在DOM中)

您需要使用多个脚本元素

  • 加载外部脚本的
  • 保存内联代码的
    (通过调用外部脚本中的函数)
  • 在您的情况下,您必须使用以下两个脚本:

    <script src="http://code.responsivevoice.org/responsivevoice.js">
    
    </script>
    
    <script>
        function sayhello(){
            //function calls to externel js
        }
    </script>
    
    
    函数sayhello(){
    //对externel js的函数调用
    }
    
    如中所述

    如果
    有一个src,那么元素的文本内容将不会作为JS执行(尽管它会出现在DOM中)

    您需要使用多个脚本元素

  • 加载外部脚本的
  • 保存内联代码的
    (通过调用外部脚本中的函数)
  • 在您的情况下,您必须使用以下两个脚本:

    <script src="http://code.responsivevoice.org/responsivevoice.js">
    
    </script>
    
    <script>
        function sayhello(){
            //function calls to externel js
        }
    </script>
    
    
    函数sayhello(){
    //对externel js的函数调用
    }
    
    color\u roll()在哪里?你能添加这个代码吗?我的目录中有一个JS文件,它包含在这个html的script.JS中。我会分享它。。。。它可能与未定义的函数无关。脚本标记中的内联脚本也具有
    src
    属性,将被忽略。您必须为
    sayhello
    函数创建另一个脚本标记。请参见MDN文档。哪里是
    color\u roll()
    ?你能添加这个代码吗?我的目录中有一个JS文件,它包含在这个html的script.JS中。我会分享它。。。。它可能与未定义的函数无关。脚本标记中的内联脚本也具有
    src
    属性,将被忽略。您必须为
    sayhello
    函数创建另一个脚本标记。请参阅MDN文档。