現在、次のコードがあります。基本的には、ログイン ページと、ハイパーリンクをクリックして電子メール アドレスを入力し、パスワードを忘れた場合にパスワードを電子メールで送信する際のモーダル ポップアップのみです。モーダルは、入力された電子メールがシステムにあるかどうかも確認します。これは jqModal の初めての経験であり、とても気に入っています。実際、これはIE8を除くすべてのブラウザでうまく機能します(具体的には、互換モードをオンにしてIE9を使用しています)。以下にコード化されているように、「ログイン」ボタンは起動せず、ユーザーをログインさせません。「ここをクリックしてパスワードを記憶する」機能がポップアップし、意図したとおりに機能します。繰り返しになりますが、以下に示すように、IE9、FF10、Opera 11、Safari、および Chrome で完全に動作します。何が欠けているのか、IE8 と何が違うのか (または、おそらく IE9 の互換性モードの問題ですか?)
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Index.aspx.vb" Inherits="mySite_v7.Index" %>
<%@ Register Src="controls/Header.ascx" TagName="Header" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Site v7 - Login Page</title>
<link rel="Stylesheet" href="scripts/Site.css" type="text/css" />
<script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="scripts/jqModal-03-01-2009.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="scripts/jqModal.css" />
<script type="text/javascript">
$(document).ready(function () {
$('#dialog').jqm();
$('#jqmOpen').click(function () {
$('#dialog').jqmShow();
return false;
});
$('#jqmClose').click(function () {
$('#dialog').jqmHide();
return false;
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div class="header">
<div class="logoImage">
<a href="/Default.aspx">
<img src="images/header/spacer.gif" class="trans" alt="" /></a>
</div>
</div>
<div class="main">
<asp:Label ID="Label3" runat="server" Text="Welcome to mySite.com" Style="font-weight: bold;
font-size: medium;" />
<br />
<asp:Label ID="Label5" runat="server" Style="font-size: xx-small;" Text="version 7.0 - (<b>.NET 4.0</b>)" />
<div class="errorMsg">
<asp:UpdatePanel ID="udp2" runat="server">
<ContentTemplate>
<asp:Label ID="lblError" runat="server" Visible="False" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnLogin" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
<br />
<div class="lbls">
<asp:Label ID="lblUserName" runat="server" Text="UserName:" Font-Names="Verdana"
Font-Size="Small" />
</div>
<div class="txts">
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnLogin">
<asp:TextBox ID="txtUserName" runat="server" Style="font-size: small;" />
</asp:Panel>
</div>
<br />
<div class="lbls">
<asp:Label ID="Label4" runat="server" Text="Password:" Style="font-size: small;" />
</div>
<div>
<asp:Panel ID="Panel2" runat="server" DefaultButton="btnLogin">
<asp:TextBox ID="txtPassword" runat="server" Style="font-size: small" TextMode="Password" />
</asp:Panel>
</div>
<div class="btns">
<asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="btnLogin_Click" />
</div>
<div class="lbls">
<asp:Label ID="lblForgot" runat="server" Style="font-size: small;" Text="Forgot your password? Click " />
<a href="#" style="color: Blue; text-decoration: underline;" name="jqmOpen"
id="jqmOpen">HERE</a>
</div>
</div>
<span id="dialog" class="jqmWindow"><a href="#" class="jqmClose">
<img src="images/close.gif" alt="close" style="float: right; border: 0px;" />
</a>
<br />
<asp:UpdatePanel ID="upd1" runat="server">
<ContentTemplate>
<asp:Label ID="lblModErr" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<br />
<asp:Label ID="lblEmail" runat="server" Text="Enter your email address:" class="lbls" />
<br />
<asp:Panel ID="Panel3" runat="server" DefaultButton="btnSubmit">
<asp:TextBox ID="txtEmail" runat="server" class="txts" />
</asp:Panel>
<br />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="btns jqmClose"
CausesValidation="false" />
<div class="btns" style="display: inline;">
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
</div>
</span>
</form>
</body>
</html>
ありがとう!
EDIT 無視してください。これは、互換性モードがオンになっている IE9 のみの問題です。投稿した後、私は気づきました-なぜIE8でこれをチェックしなかったのですか-ため息-時々、集中しすぎるのは悪いことです。へー。jqModal と ASP.NET の設定方法のさらに別の例として、この奇妙な組み合わせに出くわす可能性のある他の人への警告として、ここを離れます。