- ベストアンサー
JavaScript超初心者です。
JavaScript超初心者です。 フォームを作成してます。 ★JavaScriptの記載方法の質問 下記の内容をJavaScriptで記載することは可能でしょうか? 1.チェックボックスにチェックがされていたら、そのまま確認画面へ。 2-a、 チェックボックスにチェックがされていなかったら、 confirmで「はい」か「いいえ」を出し、「はい」の場合は、そのまま確認画面へ。 2-b、 「いいえ」の場合は、画面はそのままで、confirm画面が消える。 もし、お時間がある方がおりましたら、教えてください。 よろしくお願いいたしますm--m;
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
チェックが入ってる時もy.phpに遷移するなら、間違えました。(formにactionを指定しない方法) function go() { var nextUrl = "y.php"; var flg; if (!document.form1.display.checked) { if (!confirm("チェックないけど、いいですか?")) { return; } else { flg = true; } } if (flg) { document.form1.action = nextUrl; document.form1.method = "post"; document.form1.target = "表示したいフレーム名"; document.form1.submit(); } } です。
その他の回答 (2)
- akito0417
- ベストアンサー率20% (55/266)
function go() { if (!document.form1.display.checked) { if (!confirm("チェックないけど、いいですか?")) { return; } } } これで多分いけます。 多分と言っているのは、formタグにactionを指定した事がない為。 以下いつも自分が組んでる形。 function go() { var nextUrl = "y.php"; if (!document.form1.display.checked) { if (!confirm("チェックないけど、いいですか?")) { return; } else { document.form1.action = nextUrl; document.form1.method = "post"; document.form1.target = "表示したいフレーム名"; document.form1.submit(); } } } <form name="form1" method="post"> <input type="checkbox" name="display" value="1" /> <input type="button" onClick="go();" /> </form> targetに指定する項目が無いなら、記述する必要が無かったと思います。 動作確認しないで適当に打ったソースなので、間違ってるかもしれません。 ※注意 見やすくするためインデントつけてます。(全角スペースで) そのままコピーしても使えませんので置換等必要です
- yambejp
- ベストアンサー率51% (3827/7415)
>confirm画面が消える。 というのが何を意味しているのわかりませんが、こんな感じで? <script> function checkFunc(f){ if (f.elements["hoge"].checked ) return true; return confirm("OK?"); } </script> <form action="y.php" onsubmit="return checkFunc(this)"> <input type="checkbox" name="hoge"> <input type="submit" value="go"> </form>
補足
迅速なご回答ありがとうございます。 感謝します。 すみません!私の説明不足でした。 下記のようなソースを書いてます。 このチェックボックスをチェックしていれば、スルー。 チェックが入っていなければ、 チェックないけど、いいですか? 「はい」「いいえ」のダイヤログが出てきて、 「はい」→ y.phpに進む 「いいえ」→ダイヤログが閉じる。(画面はそのまま) というようなことはできますでしょうか? また、説明不足だったらすみません。 わかりましたら教えていただけると助かります。 よろしくお願いいたします。 <form method="POST" action="y.php" id="form" name="form1" onSubmit="return check()"> <tr> <th align="right">チェックする</th> <td valign="top"> <input type="checkbox" name="display" value="1" /> </td> </tr> <input type="submit" value="go"> </form>