用户控件中的登录表单验证,使用外部JavaScript问题,ASP.NET

时间:2012-12-20 19:02:06

标签: javascript asp.net html user-controls

我正在学习外部使用JavaScript的客户端表单验证,用户控件(.ascx文件)中存在的登录按钮,并在我的登录页面(.aspx文件)中调用。我已经确认在用户控件中调用了一个简单的hello world alert,但它在页面加载时执行此操作。我希望该功能仅在用户按下“登录”后才能进行测试。

在我的.js文件中:

function test() {
    alert("hello world");
}

//now for the real functions
function validate() 
{
    var UserName = document.getElementById('<%=_username.ClientID %>').value;
    var Password = document.getElementById('<%=_password.ClientID %>').value;

    if (UserName == "") {
        alert("Name Field can not be blank");
        return false;
    }

    return true;
}

我的用户控制:

...
<fieldset class="login">  
    <legend class="login">Login</legend>
    <label for="<%=_username.ClientID%>">
        User Name:</label>
    <asp:TextBox ID="_username" runat="server" CssClass="login" />
    <label for="<%=_password.ClientID%>">
        Password:</label>
    <asp:TextBox ID="_password" runat="server" CssClass="login" TextMode="Password" />
    <br />
    <span class="response">
        <asp:Literal ID="_response" runat="server" /></span>

    <asp:Button ID="_login" runat="server" Text="Login" />
    <script type="text/javascript" language="javascript">validate();</script>

</fieldset>

在我的页面中调用哪个,包含javascript源文件:

<uc:Login id="_login" runat="server" />

当我使用这一行时:

<script type="text/javascript" language="javascript">validate();</script>

没有任何事情应该发生;我不知道如何使这个函数等到被按下登录按钮之后再被调用。

0 个答案:

没有答案