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

こんにちは、現在以下のようなHTMLを書きかけています。
やりたいことは、設定ボタンと消去ボタンがあり、それぞれ同じcgiを起動するけれど、
消去ボタンを押したときだけは確認のダイアログボックスを表示させたい。
そしてダイアログボックスでキャンセルを選ぶとcgiは実行しない。
設定ボタンを押したときはダイアログボックスは出さずにcgiを実行する。

で、試行錯誤しながらやってみているのですが、キャンセルを選んでも結局は
cgiを実行してしまうので、どう書けばいいのか教えてください。
#ここになにか入れて制御できるのかなぁ?#の部分に何か書いて制御できますか?
よろしくお願いします。


<script language="JavaScript">
<!--
function startConfirm(){
confirm("選択したものを削除します。よろしいですか?");
   #ここになにか入れて制御できるのかなぁ?#
}
// -->
</script>
</head>

    :
    :

<form method=post action="next.cgi">
<input type="checkbox" name="select1">選択肢
    :
    :

<input type="submit" name="sub_set" value="設定">
<input type="submit" onClick="startComfirm()" name="sub_del" value="消去">
</form>

A 回答 (2件)

>onClickのとこにreturnを追加することによって、どういう制御になるのでしょうか?



ええと。

returnを設定した場合、onClickイベントの結果を一度フォームに戻して、結果に応じてsubmit処理をするかどうかを判断します。
戻り値がfalse以外であればsubmit処理を実行します。

returnを設定しない場合、onClickイベントの処理とsubmit処理は平行処理されてしまうので、onClickイベントの結果に関わらず、submitも実行されていまいます。
    • good
    • 0
この回答へのお礼

よくわかりました。
本当にありがとうございました。
勉強になりました!

お礼日時:2002/04/04 00:06

ではまずJavaScriptの設定を↓こうしてください。


<!--
function startConfirm(){
ans = confirm("選択したものを削除します。よろしいですか?");
if(ans == false){
return false;
}
}
// -->

で、フォームの「消去」ボタンタグのonClick内に、「return」を追加してみてください。↓
<input type="submit" onClick="return startConfirm()" name="sub_del" value="消去">

これで出来ると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます!
すごい!できましたー!
ダイアログの戻り値にfalseを返すのはなんとなく理解できますが、
onClickのとこにreturnを追加することによって、どういう制御に
なるのでしょうか?よろしければ教えてください。

お礼日時:2002/04/03 12:49

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