1

文字を入力しているときに、テキストボックスと同じラベル値を変更したい。質問がありますか?ポストバック後にテキストボックスカーソルを維持するにはどうすればよいですか?たとえば、「ab」と入力します。テキストボックスのカーソル位置は、最後の文字である「b」のままになります

これが私のコーディングです

<script language="javascript" type="text/javascript">


 function RefreshUpdatePanel() {
     __doPostBack('<%= TextBox1.ClientID %>', '');
 };


</script>
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">
<ContentTemplate>

    <br />
    <br />
<asp:TextBox ID="TextBox1" runat="server" onkeyup="RefreshUpdatePanel();" 
            ontextchanged="TextBox1_TextChanged"></asp:TextBox>

     <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
         <ContentTemplate>
             <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
         </ContentTemplate>
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="TextBox1" />
    </Triggers>
    </asp:UpdatePanel>

    </ContentTemplate>
</asp:UpdatePanel>

私のバックエンドコード

 protected void Page_Load(object sender, EventArgs e)
    {
        //--If post back is txtSearach , then do search function--
        if (Page.Request.Form["__EVENTTARGET"] == TextBox1.ClientID)
        {
            this.Label1.Text = this.TextBox1.Text;

        }

    }

また、ポストバックイベント中にtextbox1.focus()を配置しようとしましたが、テキストボックスのカーソル位置は最初の文字から始まります:(

4

2 に答える 2

0

onsubmitフォーム (またはドキュメント) のイベントを処理し、現在のキャレット位置を隠しフィールドに格納する必要があります。サーバーで隠しフィールドの値を読み取り、起動スクリプトを生成してキャレット位置を設定します。トリッキーなビットは、キャレットの位置を取得および設定しています。以下のリンクがその点で役立ちます。

http://parentnode.org/javascript/working-with-the-cursor-position/
jQueryがテキストエリアにカーソル位置を
設定 HTMLテキストボックスにキーボードキャレット位置を設定

とはいえ、ソリューションを再構築することをお勧めします。テキスト変更時に update-panel 部分ポストバックを実行する代わりに、スクリプト サービス (ま​​たはページ メソッド) を使用して、検索結果を取得するためにサーバーへの ajax 呼び出しを行う必要があります。それはよりシンプルでエレガントで効率的です。以下のリンクから始めてください。

http://encosia.com/using-jquery-to-consume-aspnet-json-web-services/
http://www.codeproject.com/KB/aspnet/jQuery_To_WCF.aspx
http://msdn.microsoft.com /en-us/magazine/cc163499.aspx

于 2011-12-15T05:14:38.667 に答える
-1

利用可能な jquery プラグインのいくつかを確認することを強くお勧めします。jquery オートコンプリートをGoogle ですばやく検索すると、かなりの量のオプションが返されます。ここから始めましょう。

http://jqueryui.com/demos/autocomplete/

于 2011-12-15T05:13:23.440 に答える