テキストボックスが選択またはフォーカスされたときにイベントをトリガーする方法を知りたいと思っていました。私のテキストボックスはasp.netタイプです。
<asp:TextBox ID="TB" runat="server"></asp:TextBox>
イベントがトリガーされたら、コード ビハインドで C# を使用して何かを実行したいと考えています。
お返事ありがとうございます。
oki ということで、別ページの記事を読んで知りました。
リンクを確認してください: http://codingresource.blogspot.no/2010/01/how-to-use-events-like-onblur-onfocus.html
onblur を使用する代わりに、onclick を使用します
asp.net にはテキストボックス選択イベントはありません。テキストボックスのテキスト変更イベントを使用するか、以下のように Java スクリプトを使用してみてください。
<head runat="server">
<title></title>
<script type="text/javascript">
function RefreshUpdatePanel() {
__doPostBack('<%= Code.ClientID %>', '');
};
</script>
<asp:TextBox ID="Code" runat="server" onkeyup="RefreshUpdatePanel();" AutoPostBack="true" OnTextChanged="Code_TextChanged"></asp:TextBox>
<asp:UpdatePanel ID="Update" runat="server">
<ContentTemplate>
<asp:DropDownList runat="server" ID="DateList" />
<asp:TextBox runat="server" ID="CurrentTime" ></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Code" />
</Triggers>
</asp:UpdatePanel>
それらは、次のようにtextchangedイベントを使用できるaspテキストボックスのサーバー側のonfocusイベントではありません.ajaxコントロールの更新パネルを使用すると、ページの更新を回避できます。
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" ontextchanged="TextBox1_TextChanged1" ></asp:TextBox>
protected void TextBox1_TextChanged2(object sender, EventArgs e)
{
}
クライアント側の onfocus イベントでは、次のように ajax 呼び出しを介して ac# webmethord を呼び出すことができます。
HTML ソース
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#TextBox1").focus(function () {
$.ajax({
type: "POST",
url: "Default.aspx/test",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
}
});
});
});
</script>
C# コード
[WebMethod]
public static void test()
{
}