
掲示板の記事を削除するとき、JavaScriptを使って確認ダイアログを
出させたいと思ってます。
しかし、確認ダイアログは出るものの、「いいえ」を押しても削除を
実行してしまって困っています。
下記の関数に分岐が足りないのはわかるのですが、
どうすれば分岐した上でcgiを叩いてくれるのかわかりません。
どうか教えてください。m(_ _)mペコリ
■JavaScript
function DEL0(){
window.confirm("削除しますか?")
}
■BODY
<form action="bbs.cgi" method="post">
:
:
<input class="button" name="category_delete" type="submit" value="削除する" onClick="DEL()">
:
:
</form>
No.2ベストアンサー
- 回答日時:
良い方法といえるかどうかは自信ないですが、次のような形で分岐できると思います。
<html>
<head>
<script language="JavaScript">
var intMode; //どちらのボタンが押されたかの判定用 1:削除 2:更新
function KAKUNIN(){
if (intMode == 1) {
return confirm("削除しますか?");
} else if (intMode == 2) {
return confirm("更新しますか?");
}
}
</script>
</head>
<body>
<form action="bbs.cgi" method="post" onsubmit="return KAKUNIN();">
:
:
<input class="button" name="category_delete" type="submit" value="削除する" onclick="intMode=1">
<input class="button" name="koushin" type="submit" value="更新する" onclick="intMode=2">
:
:
</form>
</body>
</html>
-----------------------
JavaScriptが必ず使用可能な状態で使われるのであれば、
submitボタンをtype="button"に変更し、スクリプト上からsubmitを実行する方法の方がスッキリとするかもしれません。
<html>
<head>
<script language="JavaScript">
function DEL(){
if (!confirm("削除しますか?")) {
return;
}
document.forms[0].mode.value = 1; //削除
document.forms[0].submit();
}
function UPD(){
if (!confirm("更新しますか?")) {
return;
}
document.forms[0].mode.value = 2; //更新
document.forms[0].submit();
}
</script>
</head>
<body>
<form action="bbs.cgi" method="post">
:
:
<input class="button" type="button" value="削除する" onclick="DEL();">
<input class="button" type="button" value="更新する" onclick="UPD();">
<input type="hidden" name="mode"><!--CGIで、どちらのボタンが押されたかを判定するため用-->
:
:
</form>
</body>
</html>
この回答への補足
とりあえず、onsubmitをやめてinputタグ側を「onclick="return DEL()"」
「onclic="return UPD()"」のようにしてみました。
回答、ありがとうございました。
感謝いたします。
No.1
- 回答日時:
こんな感じでしょうか。
他にも色々方法はあると思いますが、一例ということで。
■JavaScript
function DEL(){
return window.confirm("削除しますか?");
}
■BODY
<form action="bbs.cgi" method="post" onsubmit="return DEL();">
:
:
<input class="button" name="category_delete" type="submit" value="削除する">
:
:
</form>
※confirmは、「OK」を選択するとtrue、「キャンセル」を選択するとfalseが返されます。
※onsubmitに対し、falseをセットするとサブミットがキャンセルされます。
この回答への補足
回答有難うございました。
早速試してみると、ボタン1個の時は問題なく動きました。
実は、ボタンは削除ボタンだけでなく、更新ボタンというのもつけています。
このときも、同じように確認ダイアログを出したいと考えていますが、その方法も教えていただけると助かります。
情報を小出しにして申し訳ありません。
何卒宜しくお願いします。m(_ _)mペコリ
■BODY
<form action="bbs.cgi" method="post" onsubmit="return DEL();">
:
:
<input class="button" name="category_delete" type="submit" value="削除する">
<input class="button" name="koushin" type="submit" value="更新する">
:
:
</form>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
confirmのOK・キャンセルを押し...
-
印刷プレビュー後のウィンドウ...
-
ボタン無しでフォーム内容送信
-
HTAで、こんなボタンが作りたい。
-
submitするとなぜか2度実行する
-
複数のsubmitによって送信する...
-
ボタン2回押しを無効にしたい
-
confirmの分岐について
-
javascriptでinput属性の入力
-
フォームのボタンをSUBMITから...
-
Javaのダイアログについて
-
フォーム内で記入したクエリ送...
-
formを書き換えて送信する方法
-
プルダウン 項目が多いので先頭...
-
クリックされた罫表セルの行番...
-
return trueとreturn falseの用...
-
onClickとsubmitの処理順序
-
Selectボックスの幅を自動で広...
-
ASP.NETでNAME属性を固定にしたい
-
<input>の選択肢をプルダウンメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onclickをEnterキーでも行いたい
-
フォーム内で記入したクエリ送...
-
sessionの値でボタンを活性・非...
-
ボタンを押すとチェックボック...
-
確認ダイアログの出し方(JavaS...
-
jsで質問です。 ボタンが二つ存...
-
submitするとなぜか2度実行する
-
ボタン無しでフォーム内容送信
-
Javaのダイアログについて
-
VBSでブラウザ上のテキストボッ...
-
onClick="this.form.submit
-
メッセージボックスで「はい」...
-
VBScript
-
formに色をつけたい
-
onclickで2個指定するには?
-
Comfirm応答の後処理
-
ボタンが押されると同時にデー...
-
別ファイルの共通関数をHTMLで...
-
複数のsubmitによって送信する...
-
フォームに入力された値をリン...
おすすめ情報