要实现的功能
? ? ? ? 在SpringMVC框架点这里->【Spring+springMVC+Mybatis简单搭建】中实现jsp页面中利用jQuery实现input标签内容的非空验证功能
错误描述
? ? ? ? 验证功能的代码没有问题,但是部署到Tomcat上怎么也不生效,但是在idea中按住Ctrl点击导入的jQuery却能正确调到对应的jQuery文件中。
????????jsp代码如下
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="utf-8" language="java" isELIgnored="false" %>
<div>
<form action="${pageContext.request.contextPath}/Category/addOne" method="post">
添加的分类:<input type="text" name="name" id="fname" onblur="validate()"><label style="color: darkred" id="msg"> </label><br/>
<button type="submit" id="btn">添加</button> </span>
</form>
</div>
<script src="${pageContext.request.contextPath}/js/jquery-1.11.1.min.js"></script>
<script src="${pageContext.request.contextPath}/js/jquery-ui-1.10.4.min.js"></script>
<script src="${pageContext.request.contextPath}/js/jquery-ui.custom.min.js"></script>
<script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
<script>
$().ready(function(){
/*$("#fname").blur(function (){
$("#msg").html("输入不能为空")
});*/
});
/**
* 文本框失焦时间
* 判断文本框是否为空
* 为空就禁用提交按钮
* 提示用户不能为空
*/
function validate(){
var name = $('input[name="name"]');
var msg = $("#msg");
msg.html("");
//判断值是否为空
if(name.val()==null||($.trim(name.val()))==""){
//如果为空,提示用户,禁用按钮,并return
msg.html("类别名称不能为空");
name.focus();
return false;
}
return true;
}
</script>
寻找错误原因
? ? ? ? 首先我想是不是我一直用的谷歌浏览器我给一些东西脚本什么的功能给关了,我就下载了一个360浏览器去测试,发现还是跑不动
????????是不是我的jQuery代码写错了,我就在网上的W3cSchool中将我的这部分代码拿来测试,结果却可以成功。
? ? ? ? idea控制台没有报错,在对应的jsp页面也可以直接跳到对应的jQuery。
错误原因
? ? ? ? 在浏览器中我查看前端代码检查发现,显示我的jQuery not found 404 ,但是在idea中时能找到的,原来是SpringMVC默认的静态资源没有打开,所以我在WebApp中的建的js文件夹没有被访问到,在SpringMVC中的配置文件中加上
<mvc:default-servlet-handler/>
就可以了,改代码的意思是如果SpringMVC找不到就交给原始的Servlet去找。之后就可以正常使用jQuery中的东西了。
|