如何将onclick事件链接到外部javascript函数?
我将JavaScript链接到HTML文件,因此我不确定单击此按钮时为什么没有调用函数如何将onclick事件链接到外部javascript函数?,javascript,Javascript,我将JavaScript链接到HTML文件,因此我不确定单击此按钮时为什么没有调用函数setUser <!DOCTYPE html> <html> <head> <title>Chat Demo</title> <link type="text/css" rel="stylesheet" href="client_style.css"/> </head> <script src="/soc
setUser
<!DOCTYPE html>
<html>
<head>
<title>Chat Demo</title>
<link type="text/css" rel="stylesheet" href="client_style.css"/>
</head>
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<body>
<h1 class = "text"> THE LEMON LAW </h1>
<div id="error-container" ></div>
<div style="text-align:center">
<ul style="list-style-type: none;" >
<li><input id="name" type="text" name="name" value="" placeholder="Enter your Name!" ></li>
<li><input id="age" type="text" name="age" value="" placeholder="Enter your Age!" ></li>
<li><input id="gender" type="text" name="gender" value="" placeholder="Enter your Gender!" ></li>
</ul>
<button type="button" name="button" onclick="setUser()">Start chating!</button>
</div>
<script type="text/javascript" src="/public/chat.js"></script>
</body>
</html>
问题是您没有在客户端代码中定义
socket
试试这个
html文件
//注意,我已经为socket.io
和jquery
使用了联机路径。你不需要使用它们。您可以继续使用自己的
参考资料
<!DOCTYPE html>
<html>
<head>
<title>Chat Demo</title>
<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="new.js"></script>
</head>
<body>
<h1 class = "text"> THE LEMON LAW </h1>
<div id="error-container" ></div>
<div style="text-align:center">
<ul style="list-style-type: none;" >
<li><input id="name" type="text" name="name" value="" placeholder="Enter your Name!" ></li>
<li><input id="age" type="text" name="age" value="" placeholder="Enter your Age!" ></li>
<li><input id="gender" type="text" name="gender" value="" placeholder="Enter your Gender!" ></li>
</ul>
<button type="button" name="button" onclick="setUser()">Start chating!</button>
</div>
</body>
</html>
函数被调用,套接字尝试连接到主机。在定义socket
时必须确保。我已连接到由Apache服务器配置的localhost
定义套接字的标准方法如下:
var socket = io.connect('http://localhost:8090');
//io is a global variable and hence no need to define it.
这里请注意,我们还定义了端口号。
8090
仅用作示例问题是您没有在客户端代码中定义socket
试试这个
html文件
//注意,我已经为socket.io
和jquery
使用了联机路径。你不需要使用它们。您可以继续使用自己的
参考资料
<!DOCTYPE html>
<html>
<head>
<title>Chat Demo</title>
<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="new.js"></script>
</head>
<body>
<h1 class = "text"> THE LEMON LAW </h1>
<div id="error-container" ></div>
<div style="text-align:center">
<ul style="list-style-type: none;" >
<li><input id="name" type="text" name="name" value="" placeholder="Enter your Name!" ></li>
<li><input id="age" type="text" name="age" value="" placeholder="Enter your Age!" ></li>
<li><input id="gender" type="text" name="gender" value="" placeholder="Enter your Gender!" ></li>
</ul>
<button type="button" name="button" onclick="setUser()">Start chating!</button>
</div>
</body>
</html>
函数被调用,套接字尝试连接到主机。在定义socket
时必须确保。我已连接到由Apache服务器配置的localhost
定义套接字的标准方法如下:
var socket = io.connect('http://localhost:8090');
//io is a global variable and hence no need to define it.
这里注意,我们还定义了端口号。
8090
仅用作示例控制台中有错误吗?您确定没有调用该函数吗?在函数中添加console.log()
语句,查看是否将该语句打印到控制台。另外,请提供更多的HTML代码。@RitikSaxena我已经添加了其余的HTML代码,我还添加了一个console.log()语句,当我单击按钮时,控制台中没有任何内容。为我工作:@MartinGuo是的,console.log()
对我也适用。console中有错误吗?您确定没有调用该函数吗?在函数中添加console.log()
语句,查看是否将该语句打印到控制台。另外,请提供更多的HTML代码。@RitikSaxena我已经添加了其余的HTML代码,我还添加了一个console.log()语句,当我单击按钮时,控制台上没有打印任何内容。为我工作:@MartinGuo是的,console.log()
也适用于我。