いつもお世話になっています。
<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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです
JavaScript
-
return trueとreturn falseの用途・違いは・・・?
JavaScript
-
JSPのクラスをコンパイルできない問題
Java
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンの表示非表示のjav...
-
フォーム内で記入したクエリ送...
-
ラジオボタンのチェックが外れ...
-
return trueとreturn falseの用...
-
テキストエリアに履歴を残したい
-
SendKeys()が一番最後に実行さ...
-
テーブル列の表示・非表示機能...
-
マウスをブラウザの外に出した...
-
innerHTML内では改行は禁止?
-
クリックされた罫表セルの行番...
-
Selectボックスの一覧表示方法
-
【javascript・PHP】プルダウン...
-
VBScriptでHTMLのセレクトボッ...
-
テキストボックスに入力された...
-
プルダウン 項目が多いので先頭...
-
formのfileの値をhiddenでも持...
-
入力フォームに半角スペース以...
-
JavaScriptで取得した値について
-
JSのボタンを複数う使うには
-
function validateFormについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム内で記入したクエリ送...
-
onclickで2個指定するには?
-
VBSでブラウザ上のテキストボッ...
-
onclickをEnterキーでも行いたい
-
jsで質問です。 ボタンが二つ存...
-
sessionの値でボタンを活性・非...
-
送信フォームで送信ボタンをお...
-
submitするとなぜか2度実行する
-
onClick="this.form.submit
-
ボタン2回押しを無効にしたい
-
ボタンを押すとチェックボック...
-
確認ダイアログの出し方(JavaS...
-
submitがおされた同時に JavaSc...
-
shiftキーを押しながらコマンド...
-
ボタン無しでフォーム内容送信
-
confirmのOK・キャンセルを押し...
-
confirm()で表示したダイアログ...
-
【掲示板の機能】投稿時にサイ...
-
<form action="#">の意味とは?
-
メールフォーム:「必須項目」...
おすすめ情報