我想用ajax实现用户注册对用户名的验证,用dwr的模式
用java类对输入数据进行验证,然后通过dwr.xml配置,页面是JavaScript
java类代码:package com.yourcompany.dwr;import com.yourcompany.hibernate.POJO.Reader;
import com.yourcompany.hibernate.POJO.ReaderDAO;public class id_validate {

String id;
Reader reader = null;
ReaderDAO readerDao = null;
    public int check(String id){
     this.id = id;
     if(id==null||id.equals("")||id.length()<4){
     return 0;
     }
     if(!id.matches("^[a-zA-Z0-9]{1}[a-zA-Z0-9|-|_]{2-16}[a-zA-Z0-9]{1}$")){
     return 1;
     }
     reader = (Reader)readerDao.findById(id);
     if(reader==null){
     return 2;
     }else{
     return 3;
     }
    }
}dwr.xml代码:
<!DOCTYPE dwr PUBLIC 
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create javascript="registerDWR" creator="new">
<param name="class" value="com.yourcompany.dwr.id_validate"></param>
</create>
</allow>
</dwr>
页面的js代码该如何写,使java类的判断传到js,请大虾赐教!

解决方案 »

  1.   

    先导入三个javascript支持然后、、
    <script type="text/javascript">
    function checkId(var id){
    registerDWR.check(id,shows);
    }
              function shows(o){
    alert(o);
    }
    </script>
      

  2.   

    汗、。上面那个checkId(var id)多了个var 。
      

  3.   

    我不想用alter弹出对话框,我是想在输入用户名后,输入框后面自动显示提示此用户名是否可以注册
      

  4.   


    <script type="text/javascript" src="dwr/engine.js"></script>
    <script type="text/javascript" src="dwr/util.js"></script>
    <script type="text/javascript" src="dwr/interface/registerDWR.js"></script>
    是这三个支持吗
      

  5.   

    我用JQuery写的,
    function checkName(){
     registerDWR.check($("#check").val(),function(data){
         if(data=='3'){
               $("#check").append("用户名已经存在");
               $("#check").focus();
         }
     }
    }
    <input name="name" type="text" onblur="checkName()" id="check"/>