点击按钮没反应

点击按钮没反应

先上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<%@ 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    份
  • 解答问题       10204    个

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

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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