授業第6回
面白いjQueryの解説を見つけました!ここをクリック
1、jQueryでフォームを操作する
問題1 ボタンをクリックしたら、下のDVIの中にテキストボックスの値を表示する
問題2 テキストボックスのサイズを変える
問題3 テキストボックスを増やす
問題4 テキストボックスの入力値を検査する
1〜4の解答例
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <title>ふるさと紹介</title> <script type="text/javascript" src="jquery-1.6.1.min.js"></script> <script type="text/javascript"> //イベントは基本的にreadyブロックの中に書く $(function(){ $("#disp").click(function(){ $("#res").css({fontSize:"36px"}); $("#res").html($(this).prev().val()); }); $("#disp1").click(function(){ $("#input1").attr("size",30); $("#res1").html("変更しました"); }); $("#disp2").click(function(){ $("#incf").append("<input type='text' size='30' />"); $("#res2").html("変更しました"); }); $("#disp3").click(function(){ if($("#input3").val().match(/^[0-9]{3}-[0-9]{4}-[0-9]{4}$/g)){ $("#res3").html("携帯番号です"); }else{ $("#res3").html("携帯番号でない"); } if($("#input3").val().match(/^[a-zA-Z0-9]+@[a-z]+\.[a-z]+\.[a-z]+$/g)){ $("#res4").html("メールです"); }else{ $("#res4").html("メールでない"); } }); }); </script> </head> <body> <form action=""> <fieldset> <legend>問題1</legend> <input type="text" size="10" value="" id="input" /> <input id="disp" type="button" value="テキストボックスの値を下に表示" /> </fieldset> </form> <div id="res"> </div> <form action=""> <fieldset> <legend>問題2</legend> <input type="text" size="10" value="" id="input1" /> <input id="disp1" type="button" value="サイズ変更" /> </fieldset> </form> <div id="res1"> </div> <form id="incf" action=""> <fieldset> <legend>問題3</legend> <input type="text" size="10" value="" id="input2" /> <input id="disp2" type="button" value="テキストボックスを増やす" /> </fieldset> </form> <div id="res2"> </div> <form action=""> <fieldset> <legend>問題4</legend> <input type="text" size="30" value="" id="input3" /> <input id="disp3" type="button" value="値を検査" /> </fieldset> </form> <div id="res3"> </div> <div id="res4"> </div> </body> </html>
5〜10の解答例
問題5 二つ前と二つ後のテキストボックスの値を表示する
問題6 テキストボックスに入力されたら値を表示する
問題7 チェックボックスが何個選択されているか?
問題8 選択しているチェックボックスの選択をすべて解除するボタン
問題9 ラジオボタンをチェックして、その値を下に表示する
問題10 テキストボックスに入力されている数字を合計して、下に表示する
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <title></title> <script type="text/javascript" src="jquery-1.6.1.min.js"></script> <script type="text/javascript"> //イベントは基本的にreadyブロックの中に書く $(function(){ $("#disp").click(function(){ var a1=$("#input3").prev().prev().prev().prev().val(); var a2=$("#input3").next().next().next().next().val(); $("#res").text("a1="+a1+" a2=" + a2); }); $("#input6,#input7").blur(function(){ $("#res1").text($(this).val()); }); $("#disp2").click(function(){ var cnt=$("input:checked").length; $("#res2").text("選ばれている数= "+cnt); }); $("#disp3").click(function(){ $("input:checked").attr("checked",false); }); $("input:radio").click(function(){ $("#res3").text($(this).val()); }); $("#disp4").click(function(){ var a=$(".sum"); var b=0; $.each(a,function(){ b+=parseInt($(this).val()); }); $("#res4").text("合計= "+b); }); }); </script> <style type="text/css"></style> </head> <body> <form action=""> <fieldset> <legend>問題5</legend> <input type="text" size="10" value="" id="input1" /><br /> <input type="text" size="10" value="" id="input2" /><br /> <input type="text" size="10" id="input3" value="ここから"/><br /> <input type="text" size="10" value="" id="input4" /><br /> <input type="text" size="10" value="" id="input5" /><br /> <input id="disp" type="button" value="二つ前と二つ後のテキストボックスの値を表示する" /> </fieldset> </form> <div id="res"> </div> <form action=""> <fieldset> <legend>問題6(何か入力して移動後)</legend> <input type="text" size="10" value="ここに入力" id="input6" /> <input type="text" size="10" value="" id="input7" /> </fieldset> </form> <div id="res1"> </div> <form action=""> <fieldset><legend>問題7</legend> <input type="checkbox" value="山下" /> <input type="checkbox" value="林" /> <input type="checkbox" value="田中" /> <input type="checkbox" value="モリタ" /> <input type="checkbox" value="楠" /> <input id="disp2" type="button" value="チェックボックスが何個チェックされているか" /> </fieldset> </form> <div id="res2"></div> <form action=""> <fieldset><legend>問題8</legend> <input type="checkbox" value="山下" /> <input type="checkbox" value="林" /> <input type="checkbox" value="田中" /> <input type="checkbox" value="モリタ" /> <input type="checkbox" value="楠" /> <input id="disp3" type="button" value="チェックボックス選択解除" /> </fieldset> </form> <form action=""> <fieldset><legend>問題9</legend> <input type="radio" value="山形" name="r1"/><label>山形</label> <input type="radio" value="山下" name="r1"/><label>山下</label> <input type="radio" value="林" name="r1"/><label>林</label> <input type="radio" value="福井" name="r1"/><label>福井</label> <input type="radio" value="今津" name="r1"/><label>今津</label> </fieldset> </form> <div id="res3"></div> <form action=""> <fieldset> <legend>問題10</legend> <input type="text" size="10" value="" class="sum" /><br /> <input type="text" size="10" value="" class="sum"/><br /> <input type="text" size="10" value="" class="sum"/><br /> <input type="text" size="10" value="" class="sum"/><br /> <input type="text" size="10" value="" class="sum"/><br /> <input id="disp4" type="button" value="数値の合計" /> </fieldset> </form> <div id="res4"></div> </body> </html>
課題1
上の例をjqQuestion1.html〜jqQuestion10.htmlとして、public_html/tomcat/mobile2011に保存してください。
(最初は答えを見ずに、問題を考えてみてください)
これは評価課題としますので、リンクを作って公開します。
jQueryのまとめとなる課題ですので、各自必ず作ってください。