
以下のようなフォームがあり削除のチェックボックスをチェックした状態でsubmitを押すと、
本当に送信してよいかどうかを確認するダイアログをjQueryを使い表示させたいと思っています。
<form method="post" action="control" enctype="multipart/form-data" name="edit" />
<div id="delete-field">
削除<input type="checkbox" name="delete" value="on">
</div>
<div id="submit-field">
<input type="submit" class="btn_submit" onClick="return FormChck()" />
</div>
</form>
送信ボタンを押した時にダイアログを表示させる方法、
特定のチェックボックスをチェックした時にアラートを表示させる方法は
それぞれ検索するとでてくるのですが、
2つを合わせたような特定のチェックボックスをチェックした状態で送信ボタンを押した時にダイアログを表示されるものが見つからず困っています。
実行したいことは「削除」チェックボックスをチェックした状態で送信ボタンを押すと
「本当に削除していいですか?」とダイアログを表示させ、
「OK」をクリックするとそのまま送信、
キャンセルをクリックすると送信せずにその画面にとどまるという処理をしたいと思っています。
削除チェックボックスをチェックしていない場合にはダイアログは表示させないようにしたいです。
お分かりの方がいましたらば、教えて頂けると助かります。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
ざっくりこんな感じです
<script>
$(function(){
$('.btn_submit').on('click',function(e){
if($(this).parents('form').find('[name=delete]:checked').length>0){
var flg=!confirm('本当に削除していいですか?');
if(flg) e.preventDefault();
}
});
});
</script>
<form method="post">
<input type="checkbox" name="delete" value="1">削除
<input type="submit" class="btn_submit" value="送信">
</form>
<form method="post">
<input type="checkbox" name="delete" value="1">削除
<input type="submit" class="btn_submit" value="送信">
</form>
deleteチェックボックスをどうやって拾うかによりますね
一応複数formがあった場合を想定してみました
重ね重ねのご回答、本当にありがとうございます。
テストした結果、バッチリ動作してくれました。
自分で何時間も検索し、試行錯誤を繰り返してもうまくいかないことばかりなのですが、
教えていただいたご回答の内容を考察することでまた一つ勉強になります。
同時に自分の知識の無さに幻滅もしますが。。。
何度もご回答いただき本当にありがとうございました。
心からお礼申し上げます。
No.2
- 回答日時:
<script>
function FormChck() {
if (!$("input[name=delete]").prop("checked")) {
return true;
}
if (!confirm("本当に削除していいですか?")) {
return false;
}
return true;
}
</script>
ご回答ありがとうございます。
教えていただきました内容でテストをしたところ動作してくれませんでした。
そこでHTMLで一から記述し再度テストしましたらば無事動作してくれました。
どうやら最初のうまくいかなかった原因はプログラム上の他の記述と干渉?していたようです。
教えていただいたソースはとても参考になりました。
ありがとうございました。
お二方ともベストアンサーとさせて頂きたいのですが、
今回は最初にご回答いただいた方をベストアンサーとさせて頂きますことをお許しください。
ご回答いただきありがとうございました。
お探しの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によって送信する...
-
フォームに入力された値をリン...
おすすめ情報