この関数を呼び出してクライアントjavascriptからバリデーターを有効にしたとき:
`ValidatorEnable(document.getElementById('<%=valPassportOtherText.ClientID%>'), true); //enable` validation control
必要な検証コントロールはすぐに検証を実行し、関連するテキストボックスの値を空白で検出し、フォーカスをテキストボックスに設定しました(SetFocusOnErrorがtrueに設定されていたため)。その結果、副作用として、検証コントロールに関連付けられているコントロール、つまりtxtSpecifyOccupationにフォーカスが移動しました。
<asp:TextBox ID="txtSpecifyOccupation" runat="server" AutoCompleteType="Disabled"
CssClass="DefaultTextBox DefaultWidth" MaxLength="24" Rows="2"></asp:TextBox>
<asp:RequiredFieldValidator ID="valSpecifyOccupation" runat="server" ControlToValidate="txtSpecifyOccupation"
ErrorMessage="1.14b Please specify your <b>Occupation</b>"
SetFocusOnError="True"> Required</asp:RequiredFieldValidator>
おそらく、(必須の)バリデーターを同時に検証を実行せずに有効にする方法があります(少なくともユーザーがタブを外すまでは?)
txtSpecifyOccupationテキストボックスの検証は、ページの送信時、またはユーザーが必要なtxtSpecifyoccupationテキストボックスにタブを付けたときにのみ発生するようにしたいと思います。
どうすればこれを達成できますか?