プロが教える店舗&オフィスのセキュリティ対策術

jspファイルからJavaサーブレットへ削除対象情報を渡し、削除処理をしています。
submit処理の際、Javascriptでconfirmを利用して削除確認ダイアログを表示させたいのですが、表示が行われず、Javaサーブレットの処理が正しく実行されてしまいます。jspファイルをHTMLで表示させたところ、削除情報パラメータは見かけ上は正しく渡されているようです。以下のJavascriptの記述で問題となる部分が有るでしょうか?
削除対象確認画面nnnn.jspより呼び出されるjavascript check_nnnn.jsの記述は次の通りです。
taisyo_Noの値の先頭から8バイトにキー項目、9バイト目より確認情報をセットしています。

************
function check_nnnn()
{
wkname = document.formnnnn.taisyo_No.value.substring(8);
wkres = confirm("削除対象は次の通りです。" + "\n\n" + "対象:" + wkwname);
if (!wkres){alert("確認画面に戻ります");return false;}
}
********************

尚、ブラウザはIE6.0を使用しております。

A 回答 (5件)

単に、ここへの記述時の入力ミスかもしれませんが、



<script language="javascript" src="check_nnnn"></script>
"check_nnnn"の部分ですが、"check_nnnn.js"ではないでしょうか?
そうだとすると、functionが存在してないことになるのでスクリプトエラーが発生すると思います。

IEの設定で、[スクリプトエラーごとに通知を表示する]にチェックが入っていないと
エラー発生に気づかないことがあるので、その点も確認してみてください。
([ツール]-[インターネットオプション]で開いたダイアログの[詳細設定])

チェックが入ってないと、スクリプトエラーが出てもサブミットまで実行されてしまいます。
    • good
    • 0
この回答へのお礼

漏れてました。また、IEの設定も行っていませんでした。エラーがpopされるようになり、非常に助かりました。

有難うございました。

お礼日時:2005/01/28 16:45

これでダメならごめんなさい。



一連のソースが見えないので予想でしか言えないんですがこのファンクションに来る前に

 document.formnnnn.submit()

のように、イベントやイベントから呼ばれる
ファンクション中でsubmit()を呼んでいませんか?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP">
<title>t</title>
<script language="JavaScript">
function test(){
alert("onSubmit()より呼ばれた!");
}

function test2(){
alert("ここでsubmit()を実行すると…onSubmit()は呼ばれない");
document.theForm.submit();
}
</script>
</head>
<body>
<form name = "theForm" onSubmit = "test()">
<input type = "button" value = "先にsubmit()" onClick = "test2()" >
<input type = "submit" value = "普通のsubmit" >
</form>
</body>
</html>

この回答への補足

この画面処理の中にsubmitはボタンにしか存在してない事を確認しました。
<input type = "submit" value="削 除">
前述の2行とこの部分しかjavascpirtの起動に関わる記述は無い様です。(勿論、値の設定については別途存在していますが…)

尚、前述の2行も含め<body>~</body>タグ内で定義しております。

補足日時:2005/01/25 18:27
    • good
    • 0
この回答へのお礼

丁寧なアドバイスを有難うございました。

ソースを直接コピぺ出来ない環境で質問している為、判り難く、回りくどい説明にお付き合い頂き申し訳有りませんでした。

お礼日時:2005/01/28 16:47

それではもう一点確認です。



wkname = document.formnnnn.taisyo_No.value.substring(8);
wkres = confirm("削除対象は次の通りです。" + "\n\n" + "対象:" + wkwname);

上記の"対象:"の後の変数名(wkwname)が違うのは
打ち込みのミスですか?

この回答への補足

ご指摘の通り、誤打鍵です。
画面を切り替えて手打ちしているのでしくじってしまいました。失礼しました。

補足日時:2005/01/25 17:07
    • good
    • 0

もしくは、wkname の取得に失敗している?



一度、wkname を使わないでダイアログの出力を確認してみたらどうですか?

この回答への補足

変数wkname部分の取込みごとそっくり外して試してみたのですが、表示されない模様です。
何か根本的の問題の様な気がして来ました。。。

補足日時:2005/01/25 17:09
    • good
    • 0
この回答へのお礼

 御回答有難うございました。

また、御指摘等宜しく御願い致します。

お礼日時:2005/01/28 16:51

check_nnnn()が呼ばれていないなんて事はないですよね?

この回答への補足

 それは流石に大丈夫(の筈)です。

jsp側では
<form name="formnnnn" method="post" action="/~/nnnn" onsubmit="return checknnnn()">
<script language="javascript" src="check_nnnn"></script>
と記述しています。

 一応、どちらも同一フォルダー上に存在しております。また、動作実績(ダイアログがポップする)のあるソースを元にjspもJavascriptもコピー元にして作成したのですが…。

あと、functionの後は"checknnnn()"が正しかったです。失礼しました。

補足日時:2005/01/25 16:37
    • good
    • 0
この回答へのお礼

 御回答有難うございました。
また、ご指摘宜しく御願い致します。

お礼日時:2005/01/28 16:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!