![問題のスナップショット][2]次のコードで2つの更新パネルを使用するWebフォームがあります。
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div id="SpeciesWrapper" class="RowControl" runat="server">
<div class="QuestionColumnControl">
<asp:Label ID="lblspecies" runat="server">[$BRAND(LABEL,STAGE1.SPECIES)$]</asp:Label>
</div>
<div class="AnswerColumnControl" title="Please let us know the type of pet you want to insure.">
<asp:RadioButtonList ID="radbtnspecies" runat="server" AutoPostBack="True" OnSelectedIndexChanged="speciesChanged"
RepeatDirection="Horizontal" >
<asp:ListItem Text="Cat" />
<asp:ListItem Text="Dog" />
</asp:RadioButtonList>
<label for="radbtnspecies" class="error">
Please select your gender</label>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Select your Species Type"
ControlToValidate="radbtnspecies" EnableClientScript="False"></asp:RequiredFieldValidator>
</div>
</div>
<div id="PetBreedWrapper" class="RowControl" runat="server">
<div class="QuestionColumnControl">
<asp:Label ID="lblPetBreed" runat="server" AssociatedControlID="ddlPetBreed">[$BRAND(LABEL,STAGE1.PETBREED)$]</asp:Label>
</div>
<div class="AnswerColumnControl">
<asp:DropDownList ID="ddlPetBreed" runat="server" ToolTip="If you can’t find the right breed, please call us as we may still be able to insure your pet." />
<span class="errormsg">
<cc1:BDML_HighlighterValidator ID="valPetBreed" runat="server" ControlToValidate="ddlPetBreed"
DivID="PetBreedWrapper" DivCSS="RowControl" ErrorClass="RowControlErr" ForeColor=""
ValidateEmptyText="True" ErrorMessage="[$BRAND(ERROR,STAGE1.PETBREED.REQ)$]"
Display="Dynamic" OnServerValidate="required_ServerValidate" SetFocusOnError="true"> </cc1:BDML_HighlighterValidator>
</span>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="radbtnspecies" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
更新パネルを使用するもう1つのフォームは次のとおりです。
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="ChippedWrapper" class="RowControl" runat="server">
<div class="QuestionColumnControl">
<asp:Label ID="lblChipped" runat="server" AssociatedControlID="radChippedYes">[$BRAND(LABEL,STAGE1.CHIPPED)$]</asp:Label>
</div>
<div class="AnswerColumnControl" title="Has your pet been identified with a chip or tag?">
<asp:RadioButton ID="radChippedYes" Checked="true" runat="server" GroupName="radChipped"
AutoPostBack="True" OnCheckedChanged="radChippedYes_CheckedChanged" />
<asp:Label ID="lblChippedYes" runat="server" AssociatedControlID="radChippedYes">[$BRAND(LABEL,STAGE1.CHIPPEDYES)$]</asp:Label>
<asp:RadioButton ID="radChippedNo" runat="server" GroupName="radChipped" AutoPostBack="True"
OnCheckedChanged="radChippedNo_CheckedChanged" />
<asp:Label ID="lblChippedNo" runat="server" AssociatedControlID="radChippedNo">[$BRAND(LABEL,STAGE1.CHIPPEDNO)$]</asp:Label>
<%--<img alt="Help" class="help" src="[$BRAND(IMAGELINK,HELP)$]" onmouseover="javascript:showhelpdiv('help-chipped')"
onmouseout="javascript:hidehelpdiv('help-chipped')" onmousemove="javascript:movehelpdiv(event,'help-chipped')" />--%>
</div>
</div>
<div id="ChipNoWrapper" class="RowControl" runat="server">
<div class="QuestionColumnControl">
<asp:Label ID="lblChipNo" runat="server" AssociatedControlID="txtChipNo">[$BRAND(LABEL,STAGE1.CHIPNO)$]</asp:Label>
</div>
<div class="AnswerColumnControl">
<asp:TextBox ID="txtChipNo" runat="server" MaxLength="15" />
<%--<img alt="Help" class="help" src="[$BRAND(IMAGELINK,HELP)$]" onmouseover="javascript:showhelpdiv('help-chipno')"
onmouseout="javascript:hidehelpdiv('help-chipno')" onmousemove="javascript:movehelpdiv(event,'help-chipno')" />--%>
<span class="errormsg">
</span>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="radChippedYes" EventName="CheckedChanged" />
</Triggers>
</asp:UpdatePanel>
外部スクリプトファイルを使用していて、ページで参照しています。フォームは、次のコードを使用してページの読み込み時にjqueryuiツールチップウィジェットを使用します。
if ($('body').prop('id') == "youandyourpet") {
$(function () {
//code to initialize tooltip
$(document).tooltip();
});
function pageLoad(sender, args) {
//code to initialize tooltip
$(document).tooltip();
}}
ここでは、jqueryready関数とpageLoad関数を使用しているため、更新パネルの部分的なレンダリングが行われると、コントロールがツールチップに再度関連付けられます。しかし、IE7,8と最新のクロムバージョンをチェックインしたところ、コントロールパネルにある上記のラジオボタンのいずれかが選択された場合でもツールチップが表示されたままになっています。
![フォームの問題を示す画像] [3]