2011-07-09 19 views
1

私はAjax ModalPopupExtenderを使用してポップアップパネルを表示しています。パネルにはTextBoxがあります。私はsetfocusにそのTextBoxをポップアップパネルにしたい。ポップアップエクステンダーにフォーカスを設定する方法やメカニズムはありますか?私はこれを達成するために多くの方法を試みましたが、失敗しました。この問題を解決するためにお手伝いください。ポップアップを開くにはModalPopupExtender setfocusの問題

+0

はい、私は解決策を持って、

1

の下にJavaScriptを追加します。あなたは多くのを試してみましたので

function pageLoad() { 
    $find('modalPopupBehaviorID').add_shown(function() { 
     $get("<%= TextBox1.ClientID %>").focus(); 
    }); 
} 
+0

ここで私はこのJavascript関数を呼び出す必要がありますか? –

+0

どこにもありません。これは、Application.InitイベントとendRequestイベントで呼び出されるあらかじめ定義された関数名です。 –

+0

私のために働いていない、ありがとう –

1

メソッドが成功しなければ、パネルとテキストボックスが存在する前にフォーカスコードがわずかに実行されている可能性があります。

setTimeout( 'document.getElementById( "TextBox")。focus();'、1);

0

rkwの回答は、私が畳み込みの修正を導くのを助けました。モデムのテキストボックスにフォーカスを適切に配置するために、タイムアウトと別の関数の呼び出しを使用しなければなりませんでした。それほど複雑ではないソリューションは私のためには機能しませんでした。私は、正しい実行キューのためにsetFocus()を追加して、私の望みの終わりにすると信じています。 ...これが他の人に役立つことを願っrkwが提案したように、タスクを達成するためにはわずか1ミリ秒しか必要ありませんでした。

//マークアップ

    <asp:Button ID="btnShow" runat="server" Text="Add New Test" OnClick="btnShow_OnClick" OnClientClick="return modalAdjust()" /> 

// javascriptの

function setFocus() { 
       try { 
        document.getElementById('<%= TextBox_TestDescription.ClientID %>').focus(); 
       } catch (e) { 
        alert(e); 
       } 
      } 

      function modalAdjust() { 
       try { 
        setTimeout("setFocus();", 1); 
       } 
       catch (e) { 
        alert(e); 
       } 
      } 
関連する問題