1

私の学校では、 register と login を含む Web サイトを構築するプロジェクトを実行しています。もちろん、私の国のインストラクターのレベルは低く、ASP.NET を使用する代わりに、Javascript を使用してフォームの入力をチェックする必要があります。

それでは、質問に行きましょう:

次のように、いくつかの入力があります。

<asp:TextBox id="usname" runat="server" MaxLength="20" value="שם משתמש" TextMode="SingleLine" CssClass="usernameInput" onfocus="this.value=''"></asp:TextBox>
            <asp:TextBox ID="email" runat="server" MaxLength="40" value="אימייל" TextMode="SingleLine" CssClass="emailInput" onfocus="this.value=''"></asp:TextBox>
            <asp:TextBox ID="password" runat="server" MaxLength="20" value="סיסמה" TextMode="Password" CssClass="passwordInput" onfocus="this.value=''"></asp:TextBox>
            <asp:TextBox ID="passwordRepeat" runat="server" MaxLength="20" value="אימות סיסמה" TextMode="Password" CssClass="passwordRepeatPassword" onfocus="this.value=''"></asp:TextBox>

id でフィールドを識別しようとしている間、Javascript はそれを認識しません。この Textboxes を保持し、Javascript で入力をチェックするにはどうすればよいですか?

前もってありがとう、イリヤ

4

2 に答える 2

4

ASP.Net は、サーバー側のコントロール用に独自の一意の ID を生成します。

ClientIDModeプロパティを に設定することで、これを防ぐことができますStatic

于 2013-05-10T16:38:13.783 に答える
1

次のオプションを試すことができます。

document.getElementById('<%=ControlId.ClientID %>');

例:

function CheckInput()
{
    var userName = document.getElementById('<%=usname.ClientID %>');
    var mail = document.getElementById('<%=email.ClientID %>');
    var pwd = document.getElementById('<%=password.ClientID %>');
    var pwdRepeat = document.getElementById('<%=passwordRepeat.ClientID %>');

    // Your validation logic

    if (userName == "XYZ" && mail == "abc@xyz.com" && pwd == "1234" &&
        pwdRepeat == "1234")
    {
        return true;
    }

    else
    {
        return false;
    }
}

そして、次のようにボタンクリックからこれを呼び出すことができます:

<asp:Button ID="Button1" runat="server" Text="Button" 
 OnClientClick="javascript:return CheckInput();" />

上記の JavaScript は true または false を返します。True が返された場合、ボタンはサーバーにポストバックされます。

于 2013-05-10T17:03:08.270 に答える