- PR -

初心者です。教えてください・・。

1
投稿者投稿内容
JETS
会議室デビュー日: 2002/08/09
投稿数: 14
投稿日時: 2002-08-09 13:00
ASP.NETでページを作成しているのですが。
TEXTBOXとBUTTONを同時に置いた状態で、
TEXTBOXに文字を書き込み、ENTERキーを押すと、
同時にBUTTONが押された処理が走ってしまいます。
フォーカスの問題だと思うのですが、どうすれば
よいのでしょうかぁーー

biac
大ベテラン
会議室デビュー日: 2001/10/22
投稿数: 106
投稿日時: 2002-08-09 14:59
引用:

TEXTBOXに文字を書き込み、ENTERキーを押すと、
同時にBUTTONが押された処理が走ってしまいます。


IE の仕様です。
type 属性が "text" になっている input 要素で、Enter キーが押されたときの挙動は、ブラウザの実装によります。 (Web ページにアクセスできる携帯電話をお持ちなら、試してみてください。)

IE を使い慣れている人にとっては、[そこでの Enter キー] と [送信ボタンのクリック] は等価なのですから、とくにその動作を変更する必要は無いと思いますが。 (というか、個人的には、変更されているとハラが立つ。 f(^^; )

対処としては、次のどれかでしょう。
・textarea 要素に変える。 (ASP.NET の textbox web サーバコントロールとしては TextMode = MultiLine にする)
・form 要素の onsubmit 属性に、送信をキャンセルする javascript を書く。 送信ボタンの onsubmit 属性には、強制的に submit する javascript を書く。
・ASP.NET 的には、検証コントロールを使う。 (クライアント側での検証が OK にならない限り、Enter でも送信ボタンでも、送信されない。)


---
ASP.NET (魔法の杖) を使いこなすために…
ユニバーサル HTML/XHTML
1

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