【JavaScript】以下のようなフォームで、「yes」のチェックボックスにチェックがないと次に進めないJavaScriptを教えてください。

(チェックが入っていないと「チェックを入れてください」とアラートが上がり、進めない、という仕組み)
--------------
<form action=”mail.cgi” method=”post” enctype=”multipart/form-data”>
<input type=”checkbox” name=”yes” value=”on”>
(※ここに色々な項目が入ります)
<INPUT NAME=”reset” TYPE=”reset” id=”reset” VALUE=”入力項目をクリア”>
<INPUT NAME=”submit” TYPE=”submit” VALUE=”つぎに進む”>
</form>
--------------
上のソースを書き換えて教えて頂けないでしょうか。
よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:angelsong No.1

回答回数94ベストアンサー獲得回数0

ポイント25pt

http://www.sun.co.jp/

$B%5%s!&%^%$%/%m%7%9%F%`%:(B

<form name=”form1” action=”mail.cgi” method=”post” enctype=”multipart/form-data”onSubmit=”func_onsubmit();”>

<input name=”check1” type=”checkbox” name=”yes” value=”on”>

(※ここに色々な項目が入ります)

<INPUT NAME=”reset” TYPE=”reset” id=”reset” VALUE=”入力項目をクリア”>

<INPUT NAME=”submit” TYPE=”submit” VALUE=”つぎに進む”>

<Script language=”JavaScript”>

function func_onsubmit() {

if (!document.form1.check1.checked) {

alert(”チェックを入れてください”);

return false;

}

return true;

}

</Script>

</form>

で、いかがでしょうか。

id:schie

うーん、半角スペースなどいろいろ手直ししたのですが、うまく動かなかったです。

時間をかければよいのですが、時間がなくて申し訳ないです。

2005/07/16 23:01:14
id:y-mochizuki No.2

回答回数111ベストアンサー獲得回数1

http://www.tagindex.com/javascript/form/check4.html

JavaScript/フォーム/チェックボックスの選択をチェックする - TAG index

この方法ではどうですか?Form の中ではないと思います。

id:schie

「上のソースを書き換えて教えて頂けないでしょうか。」という条件です。

2005/07/16 23:01:40
id:urasyun No.3

回答回数15ベストアンサー獲得回数0

ポイント35pt

http://www.hatena.ne.jp/1121516854#

人力検索はてな - 【JavaScript】以下のようなフォームで、「yes」のチェックボックスにチェックがないと次に進めないJavaScriptを教えてください。 (チェックが入っていないと「チェックを..

URLはダミーです。ポイントは、

・check()という関数を用意して、そこでチェック。

・FORM の onSubmitイベントで check()を呼び出す

・check() が falseを返せば Submitボタンは無効になります。trueを返せば有効

・check()内で、チェックボックス(この場合 yes)を記述するために、FORMに myFormという name をつける。これにより、チェックボックスの値は myForm.yes.checked で調べられる。


<script type=”text/javascript”>

<!--

function check() {

if (myForm.yes.checked == false) {

alert(”チェックを入れてください”);

return false;

}

return true;

}

// -->

</script>


<form name=”myForm” action=”http://www.yahoo.co.jp” method=”post” enctype=”multipart/form-


data” onsubmit=”return check()”>

<input type=”checkbox” name=”yes” value=”on”>

(※ここに色々な項目が入ります)

<INPUT NAME=”reset” TYPE=”reset” id=”reset” VALUE=”入力項目をクリア”>

<INPUT NAME=”submit” TYPE=”submit” VALUE=”つぎに進む” >

</form>

id:schie

ありがとうございます!

パーフェクトです。

しかも詳しい解説をしていただいて、本当に勉強になりました。

ありがとうございました。

----------

一番初めに回答いただいたangelsongさん、「動かない」と書いてしまいましたが、

私のほうで、「”」を半角に直していない部分があったので、直せば動くような気がします。

angelsongさんにも感謝いたします。

ありがとうございました。

2005/07/16 23:21:50
id:aki73ix No.4

回答回数5224ベストアンサー獲得回数27

ポイント10pt

http://www.hatena.ne.jp/1121346249

基本的には前回のと応用しましょう


<script Language="JavaScript">

<!--

function CheckData()

{

// CheckBoxの項目 NAMEの中が"yes"なので"yes"を指定します

if(!document.forms["form1"].elements["yes"].checked){

alert("チェックされてません");

// false なら送信しません

return false;

}

// true なら送信します

else return true;

}

// -->

</script>

<!-- 分かりやすいようにFormに名前を付けます -->

<form name="form1" action="mail.cgi" method="post" enctype="multipart/form-data"


onSubmit="return CheckData()">

<input type="checkbox" name="yes" value="on">

(※ここに色々な項目が入ります)

<INPUT NAME="reset" TYPE="reset" id="reset" VALUE="入力項目をクリア">

<INPUT NAME="submit" TYPE="submit" VALUE="つぎに進む" onsubmit="">

</form>

id:angelsong No.5

回答回数94ベストアンサー獲得回数0

ポイント10pt

細かい部分を修正してIE6で動作確認しました。これで上手く動くはずです。

(ポイントは無しで結構です)


<form name=”form1” action=”mail.cgi” method=”post” enctype=”multipart/form-data” onSubmit=”return func_onsubmit()”>

<input name=”check1” type=”checkbox” name=”yes” value=”on”>

(※ここに色々な項目が入ります)

<INPUT NAME=”reset” TYPE=”reset” id=”reset” VALUE=”入力項目をクリア”>

<INPUT NAME=”submit” TYPE=”submit” VALUE=”つぎに進む”>

</form>


<Script language=”JavaScript”>

function func_onsubmit() {

if (document.form1.check1.checked == false) {

alert(”チェックを入れてください”);

return false;

}else{

return true;

}

}

</Script>

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません