- PR -

LostFocusの処理

投稿者投稿内容
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2004-02-13 16:53
引用:

LostFocusと話がずれますが、
<INPUT id="text1" type="text" runat="server" onblur="text1_Onblur()">
↑の書き方と
<INPUT id="text1" type="text" runat="server" onblur="text1_Onblur">
ってどう違うんですか?


失礼しました。ただのJavaScriptの問題だと思ったもので。。。

クライアントスクリプトですと、text1_Onblur()の記述でないと動作しません。
He
大ベテラン
会議室デビュー日: 2002/12/18
投稿数: 141
投稿日時: 2004-02-13 17:06
どうしてもHtmlInputTextでないとダメですか?
TextBoxであれば比較的簡単にご希望の要件を満たすことができますが。
【参照】TextBox メンバ

# 以下、余談。
引用:
HtmlInputText メンバ として指定されているもの以外でも
タグの中にイベントマークとしてでてくるものは
イベントとして取れると思い込んでました。


こういう意見は、頭の固くなった私にとって大変参考になります。
技術系メーリングリストで質問するときのパターン・ランゲージでいうところの「判断理由」ってやつですね。
ポッキー
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2004-02-13 17:26
TextBoxのonTextChange()のことですよね?
これでもイベントはとれませんが、どうやって取得しているんですか?

HtmlInputTextを使用しているのは
子ウィンドウで選択されたデータを親ウィンドウに送っているという理由からです。
試したことはないんですが、TextBoxでも値が格納できるなら
TextBoxでも全然いいんです。
ポッキー
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2004-02-13 18:08
自己レスです。
TextBoxのプロパティを設定してPostBackできるようになりました。

子ウィンドウで選択されたデータも問題なく親ウィンドウに表示できました。

なので、TextBoxに変更して対応することにしました。

色々ありがとうございました。
He
大ベテラン
会議室デビュー日: 2002/12/18
投稿数: 141
投稿日時: 2004-02-13 18:09
サンプルをのせます。
 ・Text1の内容を変更
 ・Button1を押下
 ・Label1の内容が変更される
イベントが発生し、それを取得できていることを確認してください。
また、Text1の内容が変更されていない場合は、イベントが発生していないことも確認してください。

コード:
<html>
  <body>
    <script runat="server">
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
          Label1.Text &= "Changed!"
        End Sub
    </script>
    <form id="Form1" method="post" runat="server">
      <asp:textbox id="TextBox1" runat="server" ontextchanged="TextBox1_TextChanged"></asp:textbox>
      <asp:button id="Button1" runat="server" text="Button"></asp:button>
      <asp:label id="Label1" runat="server"></asp:label>
    </form>
  </body>
</html>



で、これはサーバ側で発生するイベントですから、
サーバに処理させる必要があります。
クライアントからサーバに値を渡さないと、変更は検知できませんよね。
その「サーバに値をわたす」ための処理がポストバックです。(かなり大雑把な説明ですが。。。)
TextBoxに『ユーザーがテキスト ボックスの内容を変更するたびに、サーバーへのポストバックが自動的に発生』させるプロパティがあるので、
それを設定してみてください。

スキルアップ/キャリアアップ(JOB@IT)