urizakaです。
現在J-BUilderを使ってテキストボックスに入力された内容をDBに送るという
JSPの画面を作っているのですが、そこでテキストボックスでEnterキーを押すと
勝手にサーブレットに遷移されるというエラーが発生してしまいます。最初は、
<Form name="Insert" Method="POST" Action="…">
(…にはサーブレットのアドレスが入ります)
と設定しているので、それでActionに登録されたサーブレットに遷移してしまう
のだと思い、ActionをJSP上のボタンが押された時に設定されるようにしたのですが、そうするとそのページが表示される前に実行されるサーブレットに移動してしまいます。もしかすると、HTMLの設定の問題なのかもしれませんが、すみませんが
この件についてご存知の方がいらっしゃいましたら教えてください。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
urizakaさん、こんにちは。
かかれている内容を見る限り、HTMLのフォームの問題ですね。jspで生成されるhtmlソースを、拡張子htmlで保存してそのhtmlファイルをブラウズしていただければ、jspの問題ではないとおわかりいただけると思います。
テキストフィールドでEnterを押すと、submitしてしまうのは、インターネットエクスプローラだけでなく、ネットスケープ4.7、6でも起きてしまうようですね。
解決方法の1つとして、JavaScript(Javaではないです)を利用することを提案します。
前置きとしてJavaScriptが有効なブラウザで、「ボタンを押す」、「submitしようとする」など何かしら動作するとイベントが発生します。イベントが発生したとき、そのフォーム部品に適切なイベントハンドラが設定されていると、そのイベントハンドラの内容が実行されます。といっても、JavaScriptをご存知ない場合、わかりませんね。
formからsubmitするとき、onsubmitハンドラが実行されます。このハンドラからfalseが戻されるとsubmitされず、画面も遷移しません。また、ボタンが押されるとonclickハンドラが実行されます。
以上を踏まえて、方針を。
まず変数を用意します。この変数の初期値はfalseとします。submitボタンが押されたら、その変数の値をtrueに変更します。フォームのonsubmitハンドラでその変数の値を戻します。
こうすることで、submitボタンが押された場合は、変数の値がtrueなのでsubmitされます。
一方、テキストフィールドでEnterが押された場合、変数の値がfalseのままなので、submitされず、画面遷移されません。
サンプルとして、以下に記します。後はurizakaさんが作成するシステムにあわせてカスタマイズできるようがんばってください。
<html>
<body>
<script laguage="javascript">
var submitIsOk = false ;
</script>
<form action="XXX" onsubmit="return submitIsOk">
<input type="text" size="20" />
<input type="submit" value="submitする" onclick="submitIsOk=true" />
</form>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Javaプログラミングの質問になります。 ボタンを押下した時に画面遷移して 画面から戻ってきた時のi 1 2023/06/26 07:50
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PowerPoint(パワーポイント) パワーポイントのアニメーションについて 4 2023/06/14 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP php ログイン 1 2022/11/01 00:24
- au(KDDI) 特定の画面を見るとスマホが固まります ご覧頂き有難うございます。 特定のページを見るとスマホが固まり 1 2023/08/21 19:29
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP ファイルの遷移がうまく行われているのかわからない 1 2022/12/21 20:02
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語で今まで表示していた画面...
-
三菱GOTの画面切り替えについて
-
system("cls")について
-
ブラウザアドレスバーからのURL...
-
画面を隠す・消す方法を教えて...
-
FormのsubmitでFormの内容がnull
-
プログラミングで例えばゲーム...
-
Java-jspの画面入力値保持について
-
サブミット後、自動的に画面を...
-
ServletからServletへの値渡し
-
[戻る]やhistory.backでの遷移...
-
登録後、呼び出し元ページに戻...
-
戻るボタン
-
検索画面→結果画面→検索画面と...
-
C# ログイン画面からメイン画面...
-
アドレスバーに引数を表示させ...
-
CPUの使用率が高くなる事象につ...
-
Strutsで画面遷移させない。
-
ブラウザ画面で、変更した値が...
-
strutsのactionタグinput
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
画面遷移を行わずに同一ページ...
-
プログラミングで例えばゲーム...
-
フロントエンドフレームワーク...
-
Java-jspの画面入力値保持について
-
遷移元を判定したい!
-
ASP.NET 画面遷移前の状態を保...
-
Googleキーワードについて キー...
-
Javaプログラミングの質問にな...
-
C言語で今まで表示していた画面...
-
ボタンを押したあとに画像を表...
-
セッション切れでのリクエスト...
-
C# ログイン画面からメイン画面...
-
JavaScriptでページが更新され...
-
ServletからServletへの値渡し
-
ZOOMでオンラインミーティング
-
登録後、呼び出し元ページに戻...
-
サブミット後、自動的に画面を...
-
アドレスバーに引数を表示させ...
-
Beautiful Soupのインストール...
おすすめ情報