2012-02-20 25 views
0

更新パネルに2つのテキストボックスText1とText2があります。コードはここにある:asp.netのテキスト変更イベント

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ScriptManager> 
     <asp:UpdatePanel ID="Panle" > 
     <ContentTemplate> 
     <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox> 
     <asp:TextBox ID="TextBox2" runat="server" AutoPostBack="True"></asp:TextBox> 
     </ContentTemplate> 
     </asp:UpdatePanel> 

と私はテキスト1のtextchangedイベントにこのコードを書いている:

Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) 
     TextBox2.Text = TextBox1.Text 
    End Sub 

今の問題は、私は[テキスト1]にテキストを入力するときということで、その後、Enterキーを押して、その後に入力します。 text2のテキストはtext1のテキストと同じですが、私はtext1のenterを押す前にこれを行いたいと思います。私はテキスト1でキーダウンすると、テキスト2のテキストはテキスト2に等しくなければなりません。

+0

ルック。 –

+0

ontextchangedは、フィールド上を離れると、ページ上のどこか別の場所にある入力かクリックかに関係なく、起動します。あなたはこれを処理するためにjavascript(jquery)を使用することをお勧めします。 – peroija

答えて

2

あなたはKeyDownイベントイベントを処理したい場合は、JavaScriptを必要とする:

<asp:TextBox ID="TextBox1" onkeydown="document.getElementById('TextBox2').value=this.value" runat="server" AutoPostBack="false"></asp:TextBox> 
+0

はいこれは良いことです –

3

あなたがやりたいjQueryのを使用することができます。

$('#<%=TextBox1.ClientID %>').keyup(function(event) { 
    var value = $(this).val(); 
    $('#<%=TextBox2.ClientID %>').text(value); 
}); 

あなたは、クライアント側で問題を処理するので、あなたはもうTrueにAutoPostBackを設定する必要はありません。それはこの種のものを得意とknockout.js` `へ

0

.aspxページ

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <script type="text/javascript"> 
    function chngtxtbxval() 
    { 
     var t1=document.getElementById("TextBox1").value; 
     var t2=document.getElementById("TextBox2"); 
     t2.value=t1; 

    } 
    </script> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox> 
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
    </div> 
    </form> 
    </body> 
    </html> 

分離コードページ

protected void Page_Load(object sender, EventArgs e) 
    { 
    TextBox1.Attributes.Add("onkeyup", "chngtxtbxval();"); 
    } 
関連する問題