要求焦点在哪个输入框就提示相应信息,特别是在输入注册名后就可以提示名字是否可用,谢谢啦

解决方案 »

  1.   

    这个完全是ajax的效果,跟struts、hibernate扯不上关系。推荐个jquery验证框架-form validation官方有实例,自己看看就可以了,至于集成struts和hibernate你可以自己做。http://blog.csdn.net/huxiweng/archive/2010/06/11/5663218.aspx官方:http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/
      

  2.   

    小意思!!  Ajax  搞定
      

  3.   

    <input type="" onclick="login()">
    ...................................................................................................
    <script type="text/javascript">
    var request;
    function login(){
     if(window.ActiveXObject){
    request=new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest)
    {
    request=new XMLHttpRequest();
    }
    request.onreadystatechange=getResult;
    var name=document.getElementById("u.User_name").value;
    var password=document.getElementById("u.User_password").value;
    var url="usersAction_Login?name="+name+"&password="+password;
    request.open("post",url,true);
    request.send(null);
    }
    function getResult()
    {
    if(request.readyState==4 && request.status==200)
    {
    var printName=request.responseText;   //获取Action中的返回值
    ..................................
    }
    }
    </script>struts2。。
    public String Login(){
    this.session=request.getSession();
    Users uu=new Users();
    String name=request.getParameter("name");
    String password=request.getParameter("password");
    uu.setUser_name(name);
    uu.setUser_password(password);
    listUsers=userIBiz.GetCheckLogin(uu);
    if(listUsers.size()>0){
    String printName="";
    try {
    PrintWriter out=response.getWriter();
    for(int i=0;i<listUsers.size();i++){
    Users ulist=(Users)listUsers.get(i);
    printName=ulist.getUser_name();
    }
    out.print(printName);
    out.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    return null;
    }
      

  4.   

    推荐你研究下ajax是如何与后台服务器联系的。
    具体点就是学好怎么用XmlHttpRequest。几乎所有的javascript框架与后台交互都是用他。
    呵呵,学着自己百度了。如何找需要的材料也是个经验。
    前提是你要有javascript基础。html基础,后台嘛~知道url是怎么和后台挂钩的,和接受数据的就好。
      

  5.   

    要求焦点在哪个输入框就提示相应信息,特别是在输入注册名后就可以提示名字是否可用,谢谢啦
    前面你写个获得焦点的时间 显示提示信息
    后者 再失去焦点时调用AJAX在后天判断该名字是否重复
      

  6.   

    我来给个简单的吧
    .jsp页面<td >账号名称 <input type="text" name="user"
    onblur="leaveCheckUser()" onfocus="beginCheckUser()"><span
    id="nameMessage" style="width: 500px; height: 20px;"</span><br>
    </td>
    <script language="javascript">
    var xmlHttp;
    var pass1,pass;
    function createXMLHttpRequest(){
    if(window.ActiveXObject){
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }else if(window.XMLHttpRequest){
       xmlHttp=new XMLHttpRequest();
    }
    }

    function leaveCheckUser(){
    form = document.forms[0];
    var name = form.user.value;
    if(name == ""){
    nameMessage.innerHTML="<font color='red'>不能为空</font>"; 
    document.form.user.focus();
    return;
    }
    createXMLHttpRequest()
    var url = "find?user="+name+"&time="+new Date().getTime(); 
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange  = processor;
    xmlHttp.send(null);
    }
    function processor(){
    var responseContext;
    if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){
       responseContext = xmlHttp.responseText;
       if(responseContext=="true"){
                  nameMessage.innerHTML="<font color='green'>有效</font>"; 
      
       }else{
                   nameMessage.innerHTML="<font color='red'>已经被占用</font>";
       }
    }
    }
    }
    function beginCheckUser(){
    nameMessage.innerHTML="6-18个字符,可以是中文、字母和数字";
    }
    }