一般的な検索画面で、中身はjavaで作っているのですが、
検索して結果が下に一覧で表示され、個々の結果ごとに「修正」「削除」ボタンを作っております。
結果1つを1formとして囲っておりまして、hiddenに一意に識別できるパラメータをvalueを入れて飛ばして、その結果情報を修正できたり削除できたりする機能を作っております。
修正ボタンをクリックした場合と削除ボタンをクリックした場合で呼ばれるServletが異なるのですが、うまくJavascriptを書けておりません。
以下はソースです。ちなみにこの要素の上に検索ボタンがあり、現在の挙動だとなぜか検索条件入力フォームチェック用のJSが呼ばれてしまっております。FireFoxのプラグインに表示されるエラーには何もでませんでした。
*****JSP(view)側*****
<form method="post" onSubmit="return callServlet(this)" id="mstSearchR" name="mstSearchR">
<input type="hidden" id="mdNoH" name="mdNoH" value="???????" /><br>
<input type="submit" id="modify" name="modify" value=" 変更 " /> <input type="submit" id="delete" name="delete" value=" 削除 " />
</form>
*****JS側*****
function callServlet(caller){
caller.modify.onsubmit = function(){
flagD = this.form.modify.disabled;
flag = confirm("修正しますか?");
if(flag == true){
flagD = !flagD;
this.form.modify.disabled = flagD;
this.form.action = "????????????????"
return true;
}
return false;
}
caller.delete.onsubmit = function(){
flagD = this.form.delete.disabled;
flag = confirm("削除しますか?");
if(flag == true){
flagD = !flagD;
this.form.delete.disabled = flagD;
this.form.action = "!!!!!!!!!!!!!!!!"
return true;
}
return false;
}
}
No.1ベストアンサー
- 回答日時:
FormのonSubmitイベントではなく、Buttonのオンクリックイベントにしてはどうでしょうか。
submitを使うのではなくbutton属性に変えて、各Function内で
this.form.submit();
を実行してあげれば問題ないとおもいます。
---
<form method="post" id="mstSearchR" name="mstSearchR">
<input type="hidden" id="mdNoH" name="mdNoH" value="???????" /><br>
<input type="button" id="modify" name="modify" value=" 変更 " onSubmit="return callServlet(this)" />
<input type="button" id="delete" name="delete" value=" 削除 " onSubmit="return callServlet2(this)" />
</form>
--
この回答への補足
Mizyuさま
ご回答いただきありがとうございます。
buttonにしてonClickで引数をthis.formにして関数読んで、function内でsubmit()をしたら見事に仕様通り機能いたしました。
大変助かりました。ありがとうございました!
No.2
- 回答日時:
input要素には、onsubmitイベントはないので、
modify/deleteにonsubmit関数を宣言しても意味はないですね。
あと、formのonsubmitイベントでこれらの宣言をしてるのも意味不明です。
なぜ、このようなコードになったのかが謎です。
どこからかコピってきたのでしょうが、使用方法が間違ってます。
また、ひとつのform内に複数のsubmit要素があるのも好ましくないですね。
こういう場合は、button要素にすべきです。
参考URL:http://w3g.jp/xhtml/dic/onreset
この回答への補足
texjoyさま
はい、たぶんコピペのままであったのだと存じます。
このコードは自分で勝手に書いてしまったものなので、スキルの低さが露呈した形になりました。
> また、ひとつのform内に複数のsubmit要素があるのも好ましくないですね。
> こういう場合は、button要素にすべきです。
こちら、今後肝に銘じてコーディングいたします。
ご回答いただき、誠にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
1つのformで複数のactionを実行できますか?
JavaScript
-
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
-
4
JSPで<SELECT>の中にDBから持ってきたデータを反映させたい
Java
-
5
jsp~jspにhiddenを使って変数を飛ばしたい
JavaScript
-
6
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
-
7
jsp 改行コードで改行させて表示したい
Java
-
8
Java-jspの画面入力値保持について
Java
-
9
プルダウンで選択すると、DBの値を取得したい
JavaScript
-
10
リクエストに応じたselectedの初期値設定方法
Java
-
11
javaで質問です。 文字列2023/2/3(一桁の場合、0埋めなし)の場合にyyyyMMddに変換
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
submitした値を返したい
-
iframe内のformをサブミットす...
-
別ウィンドウへのsubmitの挙動...
-
Chromeで複数submit
-
JavaScript:現在フォーカスの...
-
suggest.jsに関する質問
-
ページを再読み込み後、再読み...
-
リンク先アドレスの一部にテキ...
-
「利用規約の同意」複数のチェ...
-
return trueとreturn falseの用...
-
onClickとsubmitの処理順序
-
onchangeイベントを強制的に発...
-
プルダウン選択を変更すると、...
-
perl cgi文字化け解消方法と[1...
-
新しくフォルダを作成したい
-
javascriptで<table>背景色の取得
-
onClick="this.form.submit
-
tableの任意行にfocusをあてる
-
フォーム内で記入したクエリ送...
-
tabindexの取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FormのonsubmitでJavaスクリプ...
-
submitした値を返したい
-
javascriptでASPにデータを渡す
-
iframe内のformをサブミットす...
-
javascriptで .jpg , .jpeg , ....
-
POST時に要素を削除してからPOST
-
1つのform内に2つのsubmitボタ...
-
別ウィンドウへのsubmitの挙動...
-
C# 配列などの受け渡し
-
inputのvalueを変数として使うには
-
1つのページにformを2つ設置。2...
-
JavascriptからSubmitして画面...
-
Chromeで複数submit
-
focus()が上手くいかない
-
JavaScript:現在フォーカスの...
-
指定したタグを書き換えるには?
-
suggest.jsに関する質問
-
1つのformで複数のactionをボタ...
-
submitボタン押下後、disabled...
-
input type="image"の時、enter...
おすすめ情報