用户注册时,很多要检查用户名是否被别人使用的情况,我想问一下,检测用户名时怎么得到用户已经填写的那个用户名,部分代码是:
<form method="post" action="regsuccess.jsp" name="register"/>
<input type="text" name="userid" /><input type="button" name="checkuserid" value="检测用户名" onClick="javascript:window.open('checkuserid.jsp','checkuserid','scrollbars=no,status=yes,width=400,height=400')">
我现在是要在checkuserid.jsp中获得userid,怎么写?

解决方案 »

  1.   

    干吗要打开一个新得页面?直接调用action,再返回此页面不就可以了么
      

  2.   

    form method="post" action="regsuccess.jsp" name="register"/>
    <input type="text" name="userid" /><input type="button" name="checkuserid" value="检测用户名" onClick="javascript:window.open('checkuserid.jsp','checkuserid','scrollbars=no,status=yes,width=400,height=400')">
    --->form method="post" action="regsuccess.jsp" name="register"/>
    <input type="text" name="userid" /><input type="button" name="checkuserid" value="检测用户名" onClick="javascript:window.open('checkuserid.jsp?username='+document.register.userid.value,'checkuserid','scrollbars=no,status=yes,width=400,height=400')">如果有乱码,则用转换下escape()
      

  3.   

    请问楼上,username是传递给checkuserid.jsp的参数,但在checkuserid.jsp中还是不能使用,在checkuserid.jsp中还要使用什么来获得吗?比如request.getParameter()或者document什么的?在这不懂,请指教一下
      

  4.   

    关注,呵呵,应该用,request.getParameter("username")可以获得,学习下
      

  5.   

    <html>
    <head>
    <title>注册</title>
    <script language="javascript">
    var xhr=null
       function createXHR()
       {
          if(window.XMLHttpRequest)
          {
              xhr=new XMLHttpRequest();
          }
          else
          {
              xhr=new ActiveXObject("Microsoft.XMLHttp");
          }
       }
       function checkUserName(user)
       {
           createXHR();
           xhr.open("get","/user/checkUser?name"+user,true);
           xhr.onreadystatechange=$_handle;
           xhr.send();
       }
       function $_handle()
       {
          if(xhr.readystate==4)
          {
              if(xhr.status==200)
              {
                 var sTxt=xhr.responseText;
                 if(sTxt=="proceed")
                 {
                     document.getElementById("msg").innerHTML="用户名可用,请继续";
                 }
                 else if(sTxt=="refused")
                 {
                     document.getElementById("msg").innerHTML="用户名已存在,请更换";
                     user="";
                     document.getElementById("username").focus();
                 }
              }
          }
          else
          {
              document.getElementById("msg").innerHTML="<font color=\"red\">检测中,请稍后</font>";
          }
        
       }
       function
    </script>
    </head>
    <body>
    <div id="regDiv">
    <dl>
    <ul>
    <form name="reg" action="/user/reg" method="post">
    <li>用户名:<input type="text" name="username" id="username" onblur="return checkUserName(this.value)"/><span id="msg">请填写用户名</span></li>
    <li><inpu type="submit" value=" 提交 " /><input type="reset" value=" 重置 " /></li>
    </form>
    </ul>
    </dl>
    </div>
    </body>
    </html>
    ///////
    CheckUser.java
    import javax.servlet.*;
    import com.tools.basebean.*; //常用函数工具类
    .....
    public class CheckUser extends HttpServlet{
        private static finnal String CONTENT_TYPE="text/html;charset=gb2312";
        public void init() throws ServletException {
        }
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
             response.setConentType(CONTENT_TYPE);
             String user=request.getParameter("name");
             if((user==null) || user.equals(""))
             return;
             PrintWriter out=response.getWriter();
             try{
               DataBase db=new DataBase();
               db.connect();
               if(db.Query("select id from dbo.[user] where username='"+user+"'"))
                  out.println("proceed");  //最好用en文,避免编码错误问题
               else
                  out.println("refused");
               db.disconnect();
               }
               catch(Exception e)
               {
                  log.add("e.getMessage()");
               }
             
        }
        
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws
          ServletException, IOException {
        doGet(request, response);
      }
      //Process the HTTP Delete request
      public void doDelete(HttpServletRequest request,
                           HttpServletResponse response) throws
          ServletException, IOException {
      }
      //Clean up resources
      public void destroy() {
      }
    }
      

  6.   

    http://community.csdn.net/Expert/topic/4732/4732582.xml?temp=.8551599
    我以前问的