中途半端を極める

web関連で役に立ちそうなものを紹介いたします

javascript

【javascript】チェックボックスをチェックしないとサブミットできないボタン

投稿日:

個人的には結構使用する動作なので紹介いたします。
プライバシーポリシーや20歳以上の確認を行うときなどに有効ですね。
残念ながらフォームのスパム対策としてはおそらく効果は無いと思われます。

step1:javascript読み込みます

<script type="text/javascript" src="jqueryまでのパス/jquery.js"></script>
<script type="text/javascript">// <![CDATA[
$(function() {
	$("form").submit(function() {
		var checkbox_val = $("input:checked[name^=private]").val();  //nameを合わせる(*1)
		if (checkbox_val) {
			return true;
		} else {
			//$("#priv_error").slideDown();
			alert("チェックボックスにチェックを入れてください。");
			return false;
		}
	});
});
// ]]></script>

step2:HTMLの記述を以下のようにします

<form action="next." method="post"><!-- nameを合わせます。(*1) -->
<input id="private" type="checkbox" name="private" />チェック入れたらサブミットできます。
<input id="submit" onmouseover="this.src='./images/bt_on.gif'" onmouseout="this.src='./images/bt.gif'" type="image" alt="" height="60" name="submit" src="./images/bt.gif" width="200" />
</form>

inputのnameとjavascriptのソース内のname要素を合わせなければ動作しません。

参考サイト
http://www.omnioo.com/record/javascriptjquery/check_and_submit/

-javascript

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

[javascript]レスポンシブデザインのWEBに使用できる!現在のウィンドウサイズの取得と判定をして処理を変更する方法

レスポンシブ対応のときウィンドウ幅でjavascriptの動きを変更したいと思ったことはないでしょうか。今回jQueryを用いてウィンドウ幅に合わせて処理を変更する方法を見つけましたので紹介いたします …

Google Maps API V2であまりソースを変更せずV3へ移行する方法

注: Google Maps JavaScript API バージョン 2(V2)は、2010 年 5 月 19 日に正式にサポートが終了しました。V2 の廃止スケジュールは 2013 年 5 月 1 …

【Javascript】IE6でもpng画像を使えるようにする

IE6でpng画像を使うと、透明部分が灰色になって正常に表示されません。 IE6でも正常に表示させるためには「DD_belatedPNG」というライブラリを利用します。 img要素やCSSでの背景(背 …

jQueryを使ってボックス要素をランダムに表示する方法

一部の要素をランダムに表示させたいという要望があったので、調べてみたところ、よさそうなjavascriptがあったので紹介いたします。結構手軽だったので活用できるシーンは多いのではないでしょうか。

【Javascript】div要素のブロック全体をリンクにする

ブロック要素全体をリンクにすることができるjQueryです。 要素全てリンクにしたいとき、Validator errorが出る時に使用すると有効です。