Кнопки диалога входа в jQuery - PullRequest
1 голос
/ 30 декабря 2010

У меня есть ссылка, которая выскакивает диалоговое окно, содержащее мою форму входа в систему.Появляется диалоговое окно, и я вижу свой журнал в форме, но кнопки и валидаторы не работают.

Любые идеи?

Мой код:

<a href="#" rel="dialog_content" class="simpledialog">show dialog!</a>
    <!-- content -->
    <div id="dialog_content" style="display: none;">
        <h1>
            Login
        </h1>
        <asp:Label runat="server" ID="MsgBox" ForeColor="Red" Font-Size="18"></asp:Label>
        <div>
            User Name :</div>
        <div>
            <asp:TextBox ID="Username" Text="Or" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="UsernameValidator" runat="server" ErrorMessage="Fill User Name"
                ControlToValidate="Username">*</asp:RequiredFieldValidator>
            <asp:CustomValidator ID="LoginMatchU" ControlToValidate="Username" runat="server"
                ErrorMessage="Incorrect Password Or User Name" OnServerValidate="LoginMatch_ServerValidate">*</asp:CustomValidator></div>
        <br />
        <div>
            Password :
        </div>
        <div>
            <asp:TextBox ID="Password" TextMode="Password" Text="123" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="PasswordValidator" runat="server" ErrorMessage="Fill Password"
                ControlToValidate="Password">*</asp:RequiredFieldValidator>
            <asp:CustomValidator ID="LoginMatchP" ControlToValidate="Username" runat="server"
                OnServerValidate="LoginMatch_ServerValidate">*</asp:CustomValidator></div>
        <br />
        <div>
            <asp:Button ID="LoginBtn" Text="Login" runat="server" OnClick="LoginBtn_Click" />
        </div>
        <asp:ValidationSummary ID="ValidationSummary" runat="server" />
    </div>

Плагин

<script src="../jQuery.js" type="text/javascript"></script>
<link href="jquery.simpledialog.css" type="text/css" rel="stylesheet" /><script type="text/javascript">
    $(document).ready(function () {
        $('.simpledialog').simpleDialog();
    });</script>

.cs

protected void LoginMatch_ServerValidate(object source, ServerValidateEventArgs args)
{
    args.IsValid = Users.Exist(Username.Text, Password.Text);
}
protected void LoginBtn_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        string username = Username.Text;
        Session["Username"] = username;
        string redirect = @"~/User/UserQueries.aspx";
        if (Admin.IsAdmin(username) == "True")
        {
            Session["IsAdmin"] = "True";
            redirect = @"~/User/UserQueries.aspx";
        }
        Response.Redirect(redirect);
    }
}

Кстати, ссылка на диалоговое окно находится на моей главной странице, как и весь код, который я написал ^

1 Ответ

1 голос
/ 25 мая 2011

Я думаю, вам нужно поместить диалоговое окно в форму, тогда будут работать только кнопки.Попробуйте следующее:

var dialog = $('.simpledialog').simpleDialog();
dialog.parent().appendTo(jQuery('form:first'));
...