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

私は、仕事上初めてJavaScriptに触れて戸惑っております。
それは、おそらくJavaScriptの記述上の問題だとは思うのですがよくわかりません。確認のダイアログボックスで、保存とキャンセルのボタンを表示させて、「保存」ならそのままデータベースにデータを落として、「キャンセル」なら、データを落とさないという手順でプログラミングしたいのですが、「キャンセル」を選んでも、データがデータベースに落ちてしまいます。どなたかよろしくお願いします。
今、テストでは有りますが、以下のようにプログラミングしています。

<html>
<head>
<title>test</title>
<SCRIPT LANGUAGE="JavaScript">
<!--JavaScript
function myEnter(){
myRet = confirm("データを保存してもよろしいですか?");
if (myRet == true) alert("保存されました");
else alert("再確認してください");

}
// -->
</script>
</head>


<body>
<form action="insert.cfm"
method="post">
testname:<input type="text" name="testname">
<br>
testday:<input type="text" name="testday">
<br>
<input type="submit" value="保存" onClick="myEnter()">
<br>
<input type="reset" value="reset">
</form>
</body>
</html>

ちなみに、<form action="insert.cfm">というのは、ColdFusionのファイルです。よろしくお願いします。

A 回答 (3件)

confirm()の結果によらず submit されてしまうから、ですかね。



まず、「保存」のボタンのタイプを "submit" ではなく "button" にして、
フォームに名前(仮に "myForm" という名前とします)をつけて、最後に
関数 myEnter() を

function myEnter() {
  if (confirm("データを保存してもよろしいですか?")) {
    document.myForm.submit()
  } else {
    alert("再確認して下さい")
  }
}

って感じにする、で、どうでしょうか?
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。いろいろなホームページでサンプルを探してみたのですがうまくいかず困っていました。ほんとに助かりました。フォーム名をつけて、条件が真の時だけにsubmitを使い分けるために、保存ボタンをbuttonにするということですね。私なりの解釈になっているかも(^^;)しれませんが助かりました。ありがとうございます.

お礼日時:2001/06/11 11:11

あ、inoue64 さんの方が簡単 (^^;



もっと単純に、こうも書けます。

<input type="submit" value="保存" onClick="return confirm('データを保存してもよろしいですか?')">
    • good
    • 0

else{


alert("再確認してください");
return false;
}
だと思います。
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。プログラミングにもやはりいろいろとパターンがあるのですね。改めて勉強になりました。今、試しに教えていただいた様にしてみたら、きちんと動作してくれました。ほんとにありがとうございました。

お礼日時:2001/06/11 11:17

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