Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

フォームの動作についてお願いします!

<FORM NAME="form1"> <INPUT NAME="text1" TYPE="text"> <INPUT TYPE="button" value="表示" onclick="daialog()"> </FORM> <script language="JavaScript"> <!-- function daialog(){  alert(form1.text1.value) ; } --> </script> ----------------------------------- と上のようにテキストボックスの中身をアラートで返すスクリプトが あるのですが、検索ページ(google等)のようにボタンを押さずとも、 エンターキーを押せばdaialog()が呼びだされるようにするには どうすればいいでしょうか。。。 <FORM>に関係がありそうなのでJavaScriptのカテゴリにじゃないかも しれませんが、どなたかよろしくお願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

Submitボタンの押下やテキストボックス内での Enter など、全送信アクションに対してイベントを関連付けるには、FORMタグの onSubmit に処理を書きます。 以下のように書き直してみて下さい。 FORM部 <FORM NAME="form1" onSubmit="return daialog()"> <INPUT NAME="text1" TYPE="text"> <INPUT TYPE="submit" value="表示"> </FORM> Script部 <script language="JavaScript"> <!-- function daialog() {  alert(form1.text1.value);  return false; } --> </script> 関数daialog から false を return し、onSubmit 部でその値を更に return します。 こうすることで、FORM本来の送信動作をキャンセルすることが出来ます。

meke2
質問者

お礼

ご回答ありがとうございます!! 早速試してみると‥‥おぉ!と思わず感激してしまいました! “return”を使ったスクリプトをときどき見かけますが、ようやく 意味が分かった感じがします(笑) 分かりやすい解説でした。どうもありがとうございました!!

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • furuichi9
  • ベストアンサー率26% (80/303)
回答No.3

<FORM NAME="form1"onSubmit="daialog(); return false"> <INPUT NAME="text1" TYPE="text"> <input type="button" value="ENTER" onClick="daialog(); return false;"> </FORM> <script language="JavaScript"> <!-- function daialog(){  alert(form1.text1.value) ; } --> </script> NO.2さんの方がいいですね。 一応FORMだけ書いておきました。

meke2
質問者

お礼

アドバイスありがとうございます! >NO.2さんの方がいいですね。 いえいえ、こちらも参考になりました!<input type="submit">がなくても 「Enter」を押せばonSubmit=""が働くみたいですね!これはこれで使えるかも。です(笑)

すると、全ての回答が全文表示されます。
noname#3345
noname#3345
回答No.1

<FORM NAME="form1"" onSubmit="daialog()"> <INPUT NAME="text1" TYPE="text"> <INPUT TYPE="submit" value="表示> </FORM> としてやればいいかと。 ただ、エンターキーで動作するのはIEだけだったと思います。

meke2
質問者

お礼

ご回答ありがとうございます!! お返事が遅くなってゴメンなさいです。 回答を見るとなるほど、TYPE="submit"とonSubmit=""で決めるわけですね! こちらの方で試してみると、確かにエンターで動きますがそのあと テキストの中身が消えちゃうみたいですね‥‥ということは#2の方の 方がいいのかな?

すると、全ての回答が全文表示されます。

関連するQ&A