对使用Jquery感到困惑

时间:2014-06-25 12:40:13

标签: jquery asp.net

首先,我应该说这是我的第一个jquery应用程序。我在互联网上关注视频tuturials并尝试相同的事情。该应用程序基本上检查数据库中的用户名,并让用户知道该用户名是否可用并显示消息。首先,我跟着指导者here并添加了jquery 2.1.1。然后我就像在视频上编写代码,键入一些值,没有任何反应,既不是异常也不是消息。我有3周的编程背景,不知道出了什么问题。

<head runat="server">
    <title></title>
    <script src="Scripts/jquery-2.1.1.js" type="text/javascript"></script>
    <script src="Scripts/jquery-2.1.1.intellisense.js"></script>
    <script type="text/javascript" >
        function check() {
            var username = $('#txtUsername').val();
            PageMethods.CheckName(username, checkmess);
        }

        function checkmess(message) {
            $('#result').html(message);
        }
    </script>
</head>
<body>
<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
    <br />
    <input id="txtUsername" name="txtUsername" type="text"  onchange="checkFunction();" />
    <div id="result" name="result"></div>
</form>

这是针对aspx.cs文件的

protected void Page_Load(object sender, EventArgs e)
{

}

[WebMethod]
public static string CheckName(string name) 
{
    SqlConnection cnn = new SqlConnection("server=.\\sqlexpress;database=Northwind;User Id=sa; Password=1234");
    SqlCommand cmd = new SqlCommand("select * from User where UserName='"+name+"'",cnn);
    string message = "";
    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
        message = "User Exists";
    }
    else 
    {
        message = "UserName is ok ";
    }

    return message;
}

1 个答案:

答案 0 :(得分:1)

您错误地调用onchange函数作为输入,因为您的函数名称为check()

更改

<input id="txtUsername" 
       name="txtUsername" 
       type="text"  
       onchange="checkFunction();"/>

 <input id="txtUsername" 
        name="txtUsername" 
        type="text"  
        onchange="check();"/>
        ^ function name corrected.