2011-07-28 5 views
0

私はasp.netを使ってWebフォームを持っています。このフォームで私は多くのインプットを持っています。 ドロップダウンのいずれかを押すたびに、次のテキストボックスにフォーカスが移動します。Asp入力ジャンプのバグに焦点を合わせる

フィルタリング、隠ぺいのために必要ないくつかのサーバー側の作業があるので、これは、ユーザーがvisaType_filterからオーストラリアを選択した場合、それはvisaType_ddを隠し、visaType_tbを示しなど、更新パネルに

です。彼らがニュージーランドを選んだ場合、それは逆です。

は今、私の質問:

は、あなたが次の入力(またはコントロール)に行くためにそれをクリックすると、ドロップダウンのオフフォーカスジャンプを行い、バグか何かがありますか?

コード:UpdatePanelのがトリガーます

<fieldset> 
    <asp:UpdatePanel ID="visaTypeUpdatePanel" runat="server"> 
     <ContentTemplate> 
      <label>Visa Type Number</label> 
      <label> 
       <asp:DropDownList ID="visaType_filter" runat="server" Width="40%" OnSelectedIndexChanged="visaType_filter_SelectedIndexChanged" AutoPostBack="true"/> 
       <asp:TextBox ID="visaType_tb" runat="server" Width="40%" OnTextChanged="visaType_tb_blur" AutoPostBack="true"/> 
       <asp:DropDownList ID="visaType_dd" runat="server" Width="40%"/> 
       <asp:Literal ID="visaType_literal" runat="server" /> 
      </label> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</fieldset> 
<fieldset> 

答えて

1

UpdatePanelsの代わりにjQueryとAjaxを使用して問題を解決しました。

+0

こんにちは@CubeJockey。私の前の自己のために謝罪、私は私の答えを説明するとは思わなかった。 4年後、私はこれをどうやってやったのか覚えていない。私はもはやASP.NETを使用していない:( – MrJD

0

私の知る限り、フォーカスは維持されません。理想的には、焦点を合わせるべきではありません。

理由にかかわらず、ScriptManager.SetFocusメソッドを使用して問題を回避すると、ドロップダウンに重点を置くことができます。

フォーカスを維持するためのクライアント側のソリューションを使用することもできます。アップデートパネルがトリガされる前にフォーカスを絞ったコントロールを覚えてから、パネルポストバックの更新が完了したときにAJAX要求を覚えて戻すことができます。this linkそのような解決策の1つ。

関連する問題