js:
<script type="text/javascript">
//声明一个XMLHttpRequest对象的引用变量var xhr;
function createXHR(){
// 如果ActiveX对象可用,则使用的肯定是IE浏览器
if(window.ActiveXObject){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}else{
// 如果客户端使用的是非IE浏览器,使用Javascript方法处理
xhr = new XMLHttpRequest();
}
}
//检查测站编码是否可用的方法
function doCheck(){
// alert("${pageContext.request.contextPath}");
//调用获取对象的方法
createXHR();
//获取输入的测站编码
var add_station_stcd= document.getElementById('add_station_stcd').value;
//接下来借助XMLHttpRequest对象提交异步请求到后台
//1.打开到服务器的连接,使用Get方式请求${pageContext.request.contextPath}/user?add_station_stcd="+add_station_stcd
xhr.open("GET", "${pageContext.request.contextPath}/stationcheck.do?method=stationcheck&add_station_stcd="+add_station_stcd, true);
//2.监听readyState值改变的事件
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
//获取服务器端返回的Text
var str=xhr.responseText;
// alert(str);
//获取显示提示文字的span
var spanInfo=document.getElementById("message");
//把后台返回的信息显示到span上
spanInfo.innerHTML=str;
}
};
//3.发送数据,如果要发送的数据已经在url拼接了,这里就传null
xhr.send(null);
}
</script>
jsp:
<tr>
<td>测站编码</td>
<td><input type="text" id="add_station_stcd" name="add_station_stcd" style="width: 40%" οnblur="doCheck();"/>
<span id="message"></span>
</td>
</tr>
controller:
//检查测站编码是否已存在
@RequestMapping(value="stationcheck")
public void stationcheck(HttpServletRequest request, HttpServletResponse response){
response.setContentType("text/html;charset=UTF-8");
PrintWriter pw = null;
try {
pw = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
String add_station_stcd=request.getParameter("add_station_stcd");
List<Station> stations= stationservice.queryStation(null);
ArrayList stcd2=new ArrayList();
for(int i=0;i<stations.size();i++){
stcd2.add(stations.get(i).getStcd());
}
if(stcd2.contains(add_station_stcd)){
pw.print("<font color='red'>该编码已存在,请更换!</font>");
}
else {
pw.print("<font color='blue'>恭喜,该编码可用!</font>");
}
pw.flush();
pw.close();
}