0

私が取り組んでいるサイトのポップアップ ログオン フォームを作成しようとしていたので、facebox を試してみることにしました。ログオンは問題なくポップアップしますが、送信ボタンと必要なバリデータが起動しません。これはマスター ページ内にあり、進行状況パネルに含まれています。

ページヘッダーには、次のものがあります。

<script type="text/javascript">
    $(document).ready(function () {
        $('a[rel*=facebox]').facebox();
    });
</script>

フォームの上部に、次のリンクがあります。

<a href="#logon_form" rel="facebox">Logon</a>

以下にリストされているレイヤーを開くことです。

<div id="logon_form" style="display:none;">
    <table cellpadding="3" cellspacing="0" border="0" class="centered">
        <tr>
            <td>Email:</td>
            <td><asp:TextBox ID="TextLogonEmail" runat="server" CssClass="inputtext" ValidationGroup="LogonGroup" Columns="35" MaxLength="320"></asp:TextBox></td>
            <td><asp:RequiredFieldValidator ID="RequiredLogonEmail" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextLogonEmail" ValidationGroup="LogonGroup" CssClass="error">required</asp:RequiredFieldValidator></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><asp:TextBox ID="TextLogonPassword" runat="server" CssClass="inputtext" TextMode="Password" ValidationGroup="LogonGroup" Columns="35" MaxLength="40"></asp:TextBox></td>
            <td><asp:RequiredFieldValidator ID="RequiredLogonPassword" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextLogonPassword" ValidationGroup="LogonGroup" CssClass="error">required</asp:RequiredFieldValidator></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td colspan="2"><asp:Button ID="ButtonLogon" runat="server" Text="Logon" ValidationGroup="LogonGroup" onclick="ButtonLogon_Click" /></td>
        </tr>
    </table>
</div>

何か案は?

4

1 に答える 1

1

を試すPage.Validate("LogonGroup")か、Javascript を使用して呼び出したい場合は、次を試してください。

function myFunction(group)
 {
  if (Page_ClientValidate(group))
     { Something();       }
}

- 編集 -

イベント内で提供できますButtonLogon_Click。お気に入り、

Page.Validate("LogonGroup")
if(Page.IsValid())
{
    //Continue.
}
else
{
    ShowValidationSummary();
}

理想的には、コードが機能するはずです。内に を追加しValidationSummaryますLogonForm Div。たとえば、次のようにします。

<div id="logon_form" style="display:none;">
    <table cellpadding="3" cellspacing="0" border="0" class="centered">
     <tr>
            <td>
<asp:ValidationSummary id="LogonGroup" 
                             DisplayMode="BulletList"
                             EnableClientScript="true"
                             HeaderText="You must enter a value in the following fields:"
                             runat="server"/>
</td>
</tr>
        <tr>
            <td>Email:</td>
            <td><asp:TextBox ID="TextLogonEmail" runat="server" CssClass="inputtext" ValidationGroup="LogonGroup" Columns="35" MaxLength="320"></asp:TextBox></td>
            <td><asp:RequiredFieldValidator ID="RequiredLogonEmail" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextLogonEmail" ValidationGroup="LogonGroup" CssClass="error">required</asp:RequiredFieldValidator></td>
        </tr>
...

そのため、ログイン ボタンをクリックすると、そこに検証の概要が表示されます。

于 2010-10-23T17:28:26.347 に答える