开发者问题收集

HTML 按钮不调用函数

2016-03-29
4141

这是我第一次尝试使用 javascript,我在 chrome 控制台中收到以下信息:

“未捕获的 ReferenceError:test1 未定义。”

我尝试通过 onclick 按钮事件发送 Ajax 请求并在文档中显示数据。但是,由于出现错误,我已将范围缩小到 hello-world 以进行调试尝试。请原谅这种问题,因为我知道它非常简单。

任何帮助都值得感激。感谢您的时间!

<!DOCTYPE html>
<html>
<head>
</head> 
<body>

<button onclick="test1()">Click Here</button>
<p id="Data"></p>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js">

function test1(){
alert("Hello, World");
/* $.ajax({
    url: Target_URL,
    headers: {
        'Accept':'application/json',
        'authorization', 'Bearer ' + vToken
    },
    method: 'GET'
   // dataType: 'json',
   // data: YourData,
    success: ajaxCall = data
  }); */
}
</script>

</body>

</html>
3个回答

您仅使用了一个 script 标记来加载 jquery 和您的方法 - 这将不起作用... “如果脚本元素指定了 src 属性,则它不应该在其标记内嵌入脚本。” 这里有一个可行的解决方案:

<!DOCTYPE html>
<html>
<head>
</head> 
<body>

<button onclick="test1()">Click Here</button>
<p id="Data"></p>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
function test1(){
alert("Hello, World");
/* $.ajax({
    url: Target_URL,
    headers: {
        'Accept':'application/json',
        'authorization', 'Bearer ' + vToken
    },
    method: 'GET'
   // dataType: 'json',
   // data: YourData,
    success: ajaxCall = data
  }); */
}
</script>

</body>

</html>
Meiko Rachimow
2016-03-29

您不能将 javascript 代码放在与链接外部文件相同的 <script> 标记中(它不应包含在 <script src="..."> 函数 </script> 中)。您的 test1 函数应与 scr javascript 标记分开。尝试此操作:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js">/<script>
<script> your javascript function should be here </script>

希望这能解决您的问题。

Veena Singh
2016-03-30

将 JavaScript 放在文档的 head 中,并将包含 jquery 的脚本与实际代码分开。

<!DOCTYPE html>
<html>
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 

<script>
function test1(){
    alert("Hello, World");
}
</script>
</head> 
<body>
    <button onclick="test1()">Click Here</button>
    <p id="Data"></p>
</body>
</html>
Stuart
2016-03-29