いつもお世話になってます!
ある編集ページがあって、登録ボタンを押すと、入力漏れ等チェックして、問題なければ「登録します。よろしいですか?」と表示させ、OKなら処理ページへ移動させます。NGなら、確認窓を閉じます。
そこに、"del_chk"というチェックボックスを作り、そのチェックボックスをチェックして登録ボタンを押すと、「このレコードを削除します。よろしいですか?」と表示させ、OKなら、再度「本当に削除します。よろしいですか??」と表示させ、OKなら、処理ページへ移動させます。ただし、NGを押せば、押した時点で確認窓を閉じさせたいのです。
そこで、JavaScriptを考えてみましたが、何も確認窓がでてこず、困っています。。。
どこが間違えているのかわかりません。。どなたか添削をお願い致します。
<script type="text/javascript">
<!--
function FormCheck(){
//すべて異常ないとき
if(!document.form.del_chk.checked){
if(confirm("登録します。よろしいですか?")){
return true;
break;
}else{
return false;
break;
}
}else{
if(confirm('削除します。よろしいですか?')){
if(confirm("本当に削除します。よろしいですか??")){
return true;
break;
}else{
return false;
break;
}
}
}
return true;
}
//--></script>
<formタグの所に、onsubmit="return FormCheck();"を付け加えています。
すみません、よろしくお願いします。
(あと、わかればこれも・・・
<formタグを<td>の中などで使うと、表示がずれるのですが、なにかわかればこちらもよろしくお願いします。たとえば、行の高さが異様に膨らんだり・・・)
No.2ベストアンサー
- 回答日時:
とりあえず、説明用に行番号を振りますね。
01: <script type="text/javascript">
02: <!--
03: function FormCheck(){
04: //すべて異常ないとき
05: if(!document.form.del_chk.checked){
06: if(confirm("登録します。よろしいですか?")){
07: return true;
08: break;
09: }else{
10: return false;
11: break;
12: }
13: }else{
14: if(confirm('削除します。よろしいですか?')){
15: if(confirm("本当に削除します。よろしいですか??")){
16: return true;
17: break;
18: }else{
19: return false;
20: break;
21: }
22: }
23: }
24: return true;
25: }
26: //--></script>
5行目:
document.form.~ はオブジェクト名にならないですね。
たとえば、<form name="hoge">ならば
document.hoge.~ となるべきです。
あるいはフォーム名を指定しないなら
document.forms[0].~ という具合になります。
[0]の意味は、htmlの筆頭から数えて、何個目の<form>か
という意味です。ちなみに、1個目は「0」です。
8行目、11行目、17行目、20行目:
break; は不要です
24行目:
ここで return true; するのは気持ち悪いです。
まず5行目の条件で合致すれば6行目以降へ、不合致で14行目以降へ処理が流れます。
6行目にまた条件があり、合致で7行目へ、不合致で10行目へ。
この両プロセスでそれぞれreturnしてますので、この場合、24行目の return とぶつかります。
また6行目で不合致で14行目へ流れた場合
14行目の条件に合致で16行目、不合致で19行目へ進みます
ここでも両者 return しています。
すると、すべての条件でかならず7・10・16・19行目のいずれかの return を経由するはずなのに
24行目でまた return されるのは意味がありません。
だいいち、returnされたプロセスはもう次へ流れて行きませんから
各break、24行目のreturnには意味がありません。
以上、気づいた点を書きました。
タプン不動作の直接的な原因は5行目でしょう。
ありがとうございました。
<form name="form" としていましたので、こちらは問題ありませんでした。最終的には以下のように訂正して解決しましたありがとうございました!
if(!document.form.del_shuuchi.checked){
if(confirm("登録します。よろしいですか?")){
return true;
}else{
return false;
}
}else{
if(confirm('削除します。よろしいですか?')){
if(confirm("本当に削除します。よろしいですか??")){
return true;
}else{
return false;
}
}else{
return false;
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
TEXTAREAに入力した改行コード...
-
フォームの入力チェックをする...
-
COBOLの数字チェック
-
ラジオボタンのNullチェック
-
JavaScriptde途中で、「exit」...
-
2次元配列で2項目についてソー...
-
ドロップダウンリストボックス...
-
JavaScript 送信フォーム確認画面
-
リロードしないようにするには
-
半角英数字のみの入力にエラー...
-
JavaScriptで「半角カナは使用...
-
Javascriptでのbuttonのname属...
-
全てのselect要素をデフォルト...
-
一覧から選択した行の行番号を...
-
プルダウン 項目が多いので先頭...
-
プルダウンで選択すると、DBの...
-
【jsp/Java】チェックボックス...
-
hiddenのvalueの値を変えたい
-
複数のフォームを一括で自動送...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
フォームの入力チェックをする...
-
JavaScriptde途中で、「exit」...
-
分岐数といえば
-
未入力のラジオボタンに、alert...
-
ラジオボタンのNullチェック
-
Tabキーでのカーソルの移動...
-
テキストボックスに数字しか入...
-
チェックボックスの有無判定
-
入力された日付の正規表現の仕...
-
ドラッグ&ドロップ禁止について
-
数式から不要なカッコを取り除...
-
「本当に削除しますか」が正常...
-
未選択のプルダウンメニューを...
-
コピペを禁止するtextarea
-
ファイルのサイズチェックって...
-
ドロップダウンリストボックス...
-
radioボタンでも、うまくアラー...
おすすめ情報