利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现。这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输。
register.jsp 注册显示页面
<script type="text/javascript"> // 检查表单元素的值是否为空 function check() { var myform = document.getElementById("myform"); for ( var i = 0; i < myform.length; i++) { if (myform.elements[i].value == "") { alert(myform.elements[i].title + "不能为空"); myform.elements[i].focus(); return; } } myform.submit(); // 表单中最后input提交标签用的是button类型,首先不提交表单,在js判断表单项都不为空时 再提交表单。 }
$(function(){ $(":input[name='name']").blur(function(){ var val = $(this).val(); val = $.trim(val);
if(val != ""){ var url = "${pageContext.request.contextpath }/UserServlet"; // 将前端的业务转到后端Servlet来处理。最后Servlet再将结果返回给前端JSP页面 var args = {"userName":val,"time":new Date()};
$.post(url,args,function(data){ // URL中处理的结果都保存在data数据中,而data中的格式是Servlet中返回的结果格式,即为html $("#message").html(data); //将data结果附加到div中 });
} }); });