【问题标题】:Checking for duplicate username检查重复的用户名
【发布时间】:2013-01-12 13:47:57
【问题描述】:

我正在为我的移动应用创建一个注册页面,并希望检查用户/客户端输入的重复用户名

我在页面上有一个按钮,单击该按钮可检查用户名的可用性。但是,当客户单击提交/转到第 3 步时,如果尚未这样做,我也想自动合并它, 我想使用 Ajax 检查重复的用户名,如果存在重复,则刷新 SAME 页面并显示重复的错误消息,否则继续第 3 步。

在我的 HTML 文件中,我有一些执行以下操作的 js:

$("#check-username").click(function() {
(...this works as I am able to click the CHECK button
and see if the username exists)

我有另一个 js 文件,它来源于我的 HTML,它执行以下操作:

submitHandler : function() {
 $("#reg1").hide();
 $("span#step").html("2");
 $("#check-username").click;
 $("#reg3").show();
 scrollTop();
}

当我单击“转到下一步”即 reg3 时,它不会对检查用户名进行验证。我调用 check-username 的方法/语法是否正确?

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:
     $("#check-username").click;
                               ^^----- Missing Braces
    

    应该是

     $("#check-username").click();
    

    【讨论】:

      【解决方案2】:

      问题是只有在验证 ajax 请求从服务器返回后,您才需要转到第 3 步。您还需要查看来自服务器的响应以查看它是否重复。例如:

      $("#check-username").click(function() {
          validateUser();
      });
      
      function validateUser(){
          return $.ajax({
              url: '/path/to/validate'
          });
      }
      

      还有你的提交处理程序:

      submitHandler : function() {
           $("#reg1").hide();
           $("span#step").html("2");
      
           validateUser()
              .done(function(r){
                  //for example...
                  if(r.isValidUser){
                      $("#reg3").show();
                      scrollTop();
                  }
              });
      }
      

      【讨论】:

      • 感谢您的即时反馈。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 2015-02-16
      • 2016-04-07
      • 1970-01-01
      相关资源
      最近更新 更多