
いつもお世話になっています。
<script language="JavaScript">
<!--
function startConfirm(){
confirm("本当によろしいですか?");
}
// -->
</script>
</head>
(中略)
<form action="next.asp" target="_top" name="me">
<td>
<input TYPE="submit" value="全削除" name="all_del" onclick="startConfirm()">
</td>
</form>
と、このようなボタンを押したときに確認メッセージを表示させています。
キャンセルを押した場合にnext.aspに遷移せず、自分の画面に戻る
または他の画面に遷移させたいのです。
startConfirm()の中に処理を書けば良いのでしょうが、哀しいかな、わかりません(涙)。
やり方をご存知の方、教えてください。
alertでOKを押された時の処理を任意に行う方法も教えていただけたら嬉しいです。
No.3ベストアンサー
- 回答日時:
こんにちはさん、xruzです。
submitボタンにこだわらずscriptでsubmit()すれば柔軟に対応できますよ。
こんな感じではいけませんか?
<html>
<head>
<title>submit</title>
</head>
<script language="javascript">
<!--
function frmSubmit() {
var errFlag=true;
// チェックとか処理とかをします
if(errFlag==false) {
// alert("Err"); // エラー処理かな
return;
}
if(confirm("Send Ok?")) {
// document.frm.target="main"; // 表示先の変更
// document.frm.action="hoge.asp"; // リンク先の変更
document.frm.submit();
} else {
// this.location.href="jump.cgi"; // キャンセルした場合のリンク先?
}
}
//-->
</script>
<body>
<form method="post" action="" name="frm" target="_self">
<input type="button" value="send" onclick="frmSubmit();">
</form>
</body>
</html>
がんばってくださいね。
本当に丁寧な回答、ありがとうございます。
お礼が大変遅くなってすみませんでした・・・。
貼り付けたら見事に動きました(当たり前だ)。感動です。
コメントもつけて頂いていたので、どこに何を書いたらどう動くのかすぐわかり、
これまた大変ありがたかったです。
このコメント付きのソースを色々加工させて頂いて、
さらにややこしいエラー処理などに挑戦したいと思います。
また機会がありましたら、教えてやって下さい(ペコリ)。

No.2
- 回答日時:
まず、confirm()の使い方ですが戻り値を使います
if(confirm("いいですか~")==true){
// OK ボタンが押されたときの処理
}else{
//キャンセルボタン が押されたときの処理
}
次に、画面遷移についてですが、
>input TYPE="submit" value="全削除" name="all_del" onclick="startConfirm()">
の意味は「全削除」ボタンを押したら、(確認してOKだったら)フォームの内容を送信するということでしょうか?
だとすると、FORMタグのonSubmitイベントハンドラに書くのが一般的です
<FORM NAME="formmname" ACTION="送信先" onSubmit="return startConfirm()">
<INPUT TYPE="submit" VALUE="全削除">
</FORM>
…ここまで書いてたら、下記にずばりな回答がありましたので、これは補足で見て下さい。
早速の回答、ありがとうございます。
なのにお礼が遅くなってすみません・・・。
画面遷移の
<input TYPE="submit" value="全削除" name="all_del" onclick="startConfirm()">
の意味もkana-tanさんの想像通りです。
今までsubmitボタンの中にonClickで書くとばかり思ってました。
onSubmitで書くのは、enterキーを押した時でも動作できるようにするためなのでしょうか?
あと、補足だなんてとんでもないです。
キャンセルボタンが押された時の処理を行う方法を書いて頂いてありがたかったです。
かなり利用できる発想を頂きました。
また機会がありましたら、よろしくお願いします(ペコリ)。
No.1
- 回答日時:
confirmはOKボタンが押された時にtrue、キャンセルボタンが押された時にfalseが返ってきます。
これを利用して
フォームタグを
<form action="next.asp" target="_top" name="me" onSubmit="return startConfirm()">
スクリプトを
function startConfirm(){
return (confirm("本当によろしいですか?"));
}
という風にすれば、押されたボタンの結果が返り、OKならnext.aspが呼び出されるという感じになります。
alertは、フォームの記述が上と同じだった場合、
表示した後にtrueを返すとnext.aspを実行、
falseを返すとそのまま何も実行しない。
というどうさになります。
早速の回答、ありがとうございました。
返事が遅くなってすみません・・・。
貼り付けるだけでできました。
丁寧かつ親切な回答で助かりました。
また機会があったら教えてやって下さい(ペコリ)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
formに色をつけたい
-
javascriptでテキストボックス...
-
ENTERキーを無効にしたいのです...
-
別ファイルの共通関数をHTMLで...
-
submitするとなぜか2度実行する
-
confirmの分岐について
-
呼出元画面の表示/非表示の切り...
-
メールフォーム:「必須項目」...
-
複数のsubmitによって送信する...
-
同名ボタンのクリック時要素番...
-
1つのボタンで2つのCGIを起動...
-
テキストボックスでEnterを押し...
-
Javaのダイアログについて
-
テキストボックスより値を取得...
-
ボタンを押した際に送られる値
-
画像の回転(ボタンで制御)
-
アラートの文字化け
-
ダイアログメッセージ
-
IE6でスタイルが反映されない
-
txtbox「確認用メール」へのペ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム内で記入したクエリ送...
-
VBSでブラウザ上のテキストボッ...
-
submitするとなぜか2度実行する
-
ボタン2回押しを無効にしたい
-
onclickをEnterキーでも行いたい
-
確認ダイアログの出し方(JavaS...
-
送信フォームで送信ボタンをお...
-
confirmのOK・キャンセルを押し...
-
【掲示板の機能】投稿時にサイ...
-
onclickで2個指定するには?
-
onClick="this.form.submit
-
<form action="#">の意味とは?
-
JavaScriptにおいてPOSTで送信...
-
ボタンを押すとチェックボック...
-
「スタート」と「ストップ」ボ...
-
ボタン無しでフォーム内容送信
-
Ajaxで作成したinputタグが正し...
-
jQueryで特定のチェックボック...
-
HTAで、こんなボタンが作りたい。
-
リセットボタンのイメージ化
おすすめ情報