点击按钮没反应

点击按钮没反应

先上代码:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%
	String basePath = request.getScheme() + ":" + "//" + request.getServerName() + ":" + request.getServerPort() + "/"
						+ request.getServletContext().getContextPath();
	
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>图书查询</title>
<script type="text/javascript" src="<%=basePath%>/resources/js/jquery-1.4.2.js">
	$("#search").click(function(){
		alert("Hello");
	});
</script>
<%-- <!-- 使用jquery实现Ajax -->
<script type="text/javascript">
	
	$("#search").click(function() {
		window.alert("hello");
		//单击查询按钮的时候触发ajax事件
		alert("hello");
		$.ajax({
			url:"<%=basePath%>/SelectServlet",
			type:"post",
			data:{
				bookID:$("input[name=bookID]").val(),
				bookName:$("input[name=bookName]").val(),
				catgoryName:$("input[name=catgoryName]").val()
			},
			//dataType指明Servlet给Ajax返回数据的数据格式
			dataType:"json",
			//result中存储了Servlet给Ajax返回数据的数据格式$("#music1").text(result.song1);
			success:function(result) {
				var selectedBook = eval(result);
				var content = null;
				for(var i in selectedBook) {
					var id = selectedBook[i].id;
					var name = selectedBook[i].name;
					var type = selectedBook[i].type;
					var price = selectedBook[i].price;
					var description = selectedBook[i].description;
					content = content + "<tr><td>" + id + "</td><td>" + name + "</td><td>" + type + "</td><td>"
								+ price + "</td><td>" + description + "</td></tr>";
				}
				$("#cont>tr").remove();
				$("#cont").html(content);
			}
		}); 
	});

</script> --%>
</head>
<body>
	<center>
		<h1>图书查询</h1>
		<p>
			图书ID:<input type="text" name="bookID">
			图书名:<input type="text" name="bookName">
			分类:<input type="text" name="catgoryName">
			<input type="button" value="查询" id="search">
		</p>
		<hr>
		<table width="800px" cellspacing="0px" cellpadding="0px" border="1px">
			<thead>
				<tr>
					<th>图书ID</th>
					<th>书名</th>
					<th>分类</th>
					<th>价格</th>
					<th>描述</th>
				</tr>
			</thead>
			<tbody id="cont">
				<c:forEach items="${books }" var="Book">	
					<tr>
						<td>${Book.id}</td>
						<td>${Book.name}</td>
						<td>${Book.type}</td>
						<td>${Book.price}</td>
						<td>${Book.description}</td>
					</tr>
				</c:forEach>
			</tbody>
		</table>
	</center>
</body>
</html>

因为点击按钮一直没反应,所以我就把点击按钮的功能变成了简单的弹窗功能,结果点击按钮还是没反应。浏览器的控制台不报任何错误,点击按钮没有任何反应。

http://img1.sycdn.imooc.com//climg/5b8535e00001284f30001920.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

有时页面无反应时,应该先去Consloe中查看是否有错误信息,譬如下图样式,而Sources是查看代码中是否有编译错误。是的,jsp页面中的代码执行顺序是从上向下执行的,所以需要将js代码写在底部。祝学习愉快~

http://img1.sycdn.imooc.com//climg/5b86109d000197a008430286.jpg

  • 慕数据4154996 提问者 #1
    可是老师,我在注册页面里用js校验两次输入密码是否一致的时候,把js写在前面没有问题啊。
    2018-08-29 15:50:25
  • chrismorgen 回复 提问者 慕数据4154996 #2
    你在校验密码的时候是通过input标签中的方法来触发js代码代码的吧?如果是,将js代码放到上面也是可以触发的,祝学习愉快~
    2018-08-29 16:43:21
  • 慕数据4154996 提问者 回复 chrismorgen #3
    是的,我在标签里设置了onblur来触发函数
    2018-08-29 16:58:48
chrismorgen 2018-08-29 10:09:16
如下图所示,建议同学点击Console看看有没有报错,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5b8600220001476808400416.jpg

  • 提问者 慕数据4154996 #1
    console不是没报错吗?我的截图里有啊……我已经找到问题了。我把js代码写在html中的按钮定义之后就行了。可能是js代码写在按钮定义之前它找不到那个按钮吧
    2018-08-29 10:18:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师