Javascript for onblur event



使用webmatrix,asp.net &Javascript,sql server CE。我正在为用户名文本框编写一个onblur事件。当focus离开文本框时,它检查数据库中是否存在现有的用户名,如果存在则显示一个标签。foll。代码不工作,因为js代码被忽略,如果在"@{}"块。它在"@{}"块外面工作得很好,但是我不能在那里给出一个条件。请帮帮我。

<html>
<head>
<script>
function RegUsernameLeave()
{
  @{
     regusername=Request.Form["regusername"];
     if(!regusername.IsEmpty())
      {
        var db = Database.Open("myshop");
        int usercount = db.QueryValue("select count(*) from webusers where username=@0",regusername);
        db.Close();
        if(usercount!=0){
        document.getElementById("msg").innerHTML="Username already exists";}
      }
   }
}
</script>
</head>
<body>
<label>Username:</label>
<p><input type="text" id="regusername" onblur="RegUsernameLeave()"/>
<label id="msg"></label></p>
</body>
 </html>

我完全是瞎猜的。但也许沿着这条线?

基本上-我假设任何@{}都被打印到JS中-所以如果我们可以执行服务器端代码并输出它等于你的JS变量userCount然后你可以使用JS变量进行检查并输出错误信息(如果需要)

@functions{ 
   public int GetUserCount() {
     string regusername = Request.Form["regusername"].ToString();
     if(!regusername.IsEmpty())
      {
        var db = Database.Open("myshop");
        int usercount = db.QueryValue("select count(*) from webusers where username='@0'",regusername);
        db.Close();
        return usercount;
      }
      return 0;
   }
}
function RegUsernameLeave()
{
    var userCount = @GetUserCount();
   if (userCount > 0)
   document.getElementById("msg").innerHTML="Username already exists";
}

相关内容

  • 没有找到相关文章

最新更新