radio選択をクッキーに保存させる方法について

このQ&Aのポイント
  • PHPでメタサーチを作っています。複数の検索サイト(Yahoo!、Google等)から選択し、検索窓に入力した値を検索サイトに送り、iframe内に表示するようにしました。しかし、ラジオボタンのcookie保存・読み込みがうまくいきません。
  • 値の取得方法に問題があるのでしょうか?ご教示お願い致します。現在、jQuery使用でプログラムを組もうとしていますが、PHPで可能であれば、その方法でもかまいません。
  • 質問文章にあるプログラムは、PHPでメタサーチ機能を作成しているものです。検索窓に入力されたキーワードを複数の検索サイトに送り、iframeを使用して結果を表示しています。ただし、ラジオボタンの選択状態をクッキーに保存・読み込みする方法がうまくいきません。どのように修正すれば良いでしょうか?jQueryを使用しているが、PHPでも良い方法があれば教えてください。
回答を見る
  • ベストアンサー

radio選択をクッキーに保存させる方法について

こんにちは。 PHPでメタサーチを作っています。 複数の検索サイト(Yahoo!、Google等)から選択し、 検索窓に入力した値を検索サイトに送り、 iframe内に表示するようにしました。 さらに、サイトに再訪問時に、 ラジオボタンのの選択を前回と同様にしたいと思っています。 しかし、ラジオボタンのcookie保存・読み込みがうまくいきません。 PHP、JavaScript、jQueryと、様々な方法を試してみたのですが、 うまくいかず、よくわからなくなってきました。 値の取得方法に問題があるのでしょうか? ご教示お願い致します。 ※現在、jQuery使用でプログラムを組もうとしていますが、 PHPで可能であれば、その方法でもかまいません。 search4.php <?php $keyword=$_GET["keyword"]; $keyword4url=urlencode($keyword); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="jquery-1.6.4.js"></script> <script type="text/javascript" src="jquery.cookie.js"></script> <script type="text/javascript"> function P1(w1){parent.frame1.location.href=w1} //チェック状態保存 function saveChk(){ for(var i=1;i<3;i++){ if($("#chk_"+i).attr("checked")){ $.cookie('chk_'+i,'1'); } else{ $.cookie('chk_'+i,null); } } } //チェック状態読み込み function initChk(){ for(var i=1;i<3;i++){ if($.cookie('chk_'+i)){ $("#chk_"+i).attr("checked",true); } } } //ページ表示時 $(function($){ initChk(); }); </script> </head> <body> <center> <form action="search4.php" method="get"> キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()"> を <input id="chk_1" type="radio" name="RB1" onClick="P1('http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>');saveChk();" checked>Yahoo! <input id="chk_2" type="radio" name="RB1" onClick="P1('http://www.google.co.jp/#q=<?php echo $keyword4url; ?>');saveChk();">Google で <input type="submit" value="検索する" onclick="saveChk();"> </form> <br> <iframe src="http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>" name="frame1" frameborder="1" scrolling="auto" width="977" height="600"> </iframe> </center> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>setCookie("chk_1","0");に変更しました ちょっと状況がわからないですが・・・ なぜよりによって"0"を選ぶのでしょうか? 0は比較演算子を使うとき空文字やfalseなどと等価でチェックされる場合もあります。 0をつかうなら比較の際にもうすこし厳密にチェックした方がいいでしょう。 そして仮に0をつかったとして、なぜPHP側のチェックで"1"と比較しているのでしょうか? 0をクッキーにいれたなら0と比較してください。 いか、再度サンプル。 <?PHP $checked["chk_1"]=((string) $_COOKIE["chk_1"]==="0")?" checked":""; $checked["chk_2"]=((string) $_COOKIE["chk_2"]==="0")?" checked":""; print_r($_COOKIE); ?> <script> function setCookie(key,val,url){ tmp = key+"="+escape(val)+";"; tmp += "expires=Fri, 31-Dec-2030 23:59:59;"; if(url){ tmp += "domain="+getDomain(url)+";"; tmp += "path="+getDomainPath(url)+";"; } document.cookie = tmp; }; function delCookie(key){ expiredate = new Date(); expiredate.setYear(expiredate.getYear()-1); tmp = key+"=;"; tmp += "expires="+expiredate.toGMTString(); document.cookie = tmp; }; function set_cookie_radio(){ delCookie("chk_1"); delCookie("chk_2"); if(document.getElementById("chk_1").checked) setCookie("chk_1","0"); if(document.getElementById("chk_2").checked) setCookie("chk_2","0"); } </script> <form onsubmit="set_cookie_radio()"> キーワード:<input type="text" name="keyword" size="20">を <input id="chk_1" type="radio" name="RB1" <?PHP echo $checked["chk_1"];?>>Yahoo! <input id="chk_2" type="radio" name="RB1" <?PHP echo $checked["chk_2"];?>>Google で <input type="submit" value="検索する"> </form> サブミットのonclickと関数が競合している可能性は否定できませんが こまかく検証してませんのであしからず

tomorrow_005
質問者

お礼

"0"にはそのような意味があったのですね。 不勉強で勝手に変更してしまい申し訳ありませんでした。 delCookie("chk_1"); でクッキーを削除してしまうと Undefined index: chk_1 とエラーが出たので、 chk_1にも"0"を入れて"0"と"1"で区別するつもりでした。 しかしこの方法ではラジオボタンの選択肢が増えると クッキーの数も増えるのであまりよくありませんね。 エラーは isset($_COOKIE["chk_1"]) で回避するようにしました。 「検索する」で検索できない不具合は私の勘違いでした。 しかしこれでは、選択した項目での検索ができないので、 プログラム構成を再検討致します。 このたびは本当にありがとうございました。 1ヶ月近く悩んでいたことが解決に向かい、本当に嬉しいです。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

流れ的には (1)サブミットする際に、javascriptでクッキーを設定する (2)表示の際にチェックしてcheckedをつける で、よいかと。複数個所ある場合はもう少し工夫が必要ですが 考え方は同じです。 <?PHP if($_COOKIE["chk_1"]==1) $checked["chk_1"]=" checked"; if($_COOKIE["chk_2"]==1) $checked["chk_2"]=" checked"; ?> <script> function setCookie(key,val,url){ tmp = key+"="+escape(val)+";"; tmp += "expires=Fri, 31-Dec-2030 23:59:59;"; if(url){ tmp += "domain="+getDomain(url)+";"; tmp += "path="+getDomainPath(url)+";"; } document.cookie = tmp; }; function delCookie(key){ expiredate = new Date(); expiredate.setYear(expiredate.getYear()-1); tmp = key+"=;"; tmp += "expires="+expiredate.toGMTString(); document.cookie = tmp; }; function set_cookie_radio(){ delCookie("chk_1"); delCookie("chk_2"); if(document.getElementById("chk_1").checked) setCookie("chk_1","1"); if(document.getElementById("chk_2").checked) setCookie("chk_2","1"); } </script> <form onsubmit="set_cookie_radio()"> キーワード:<input type="text" name="keyword" size="20">を <input id="chk_1" type="radio" name="RB1" <?PHP echo $checked["chk_1"];?>>Yahoo! <input id="chk_2" type="radio" name="RB1" <?PHP echo $checked["chk_2"];?>>Google で <input type="submit" value="検索する"> </form>

tomorrow_005
質問者

補足

ご回答ありがとうございます。 教えて頂いたサンプルを参考に組み替えました。 (エラー回避のためelse文追加、delCookie("chk_1");をsetCookie("chk_1","0");に変更しました。) しかし、今度は「検索する」ボタンを押したときに検索が出来なくなってしましました。 action="search4-1.php" method="get" と onsubmit="set_cookie_radio()" は両立できないのでしょうか? お忙しいところ申し訳ありませんが、ご回答お願い致します。 以下、書き換えたソースを添付致します。 search4-1 <?php $keyword=$_GET["keyword"]; $keyword4url=urlencode($keyword); ?> <?php if($_COOKIE["chk_1"]==1){ $checked["chk_1"]=" checked"; }else{ $checked["chk_1"]=""; } if($_COOKIE["chk_2"]==1){ $checked["chk_2"]=" checked"; }else{ $checked["chk_2"]=""; } ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> function P1(w1){parent.frame1.location.href=w1} function setCookie(key,val,url){ tmp = key+"="+escape(val)+";"; tmp += "expires=Fri, 31-Dec-2030 23:59:59;"; if(url){ tmp += "domain="+getDomain(url)+";"; tmp += "path="+getDomainPath(url)+";"; } document.cookie = tmp; }; function delCookie(key){ expiredate = new Date(); expiredate.setYear(expiredate.getYear()-1); tmp = key+"=;"; tmp += "expires="+expiredate.toGMTString(); document.cookie = tmp; }; function set_cookie_radio(){ setCookie("chk_1","0"); setCookie("chk_2","0"); if(document.getElementById("chk_1").checked) setCookie("chk_1","1"); if(document.getElementById("chk_2").checked) setCookie("chk_2","1"); } </script> </head> <body> <center> <form action="search4-1.php" method="get" onsubmit="set_cookie_radio()"> キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()"> を <input id="chk_1" type="radio" name="RB1" onClick="P1('http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>')" <?PHP echo $checked["chk_1"];?>>Yahoo! <input id="chk_2" type="radio" name="RB1" onClick="P1('http://www.google.co.jp/#q=<?php echo $keyword4url; ?>')" <?PHP echo $checked["chk_2"];?>>Google で <input type="submit" value="検索する"> </form> <iframe src="" name="frame1" frameborder="1" scrolling="auto" width="977" height="600"> </iframe> </center> </body> </html>

関連するQ&A

  • サイト内にGoogleサイトを表示する方法

    こんにちは。 先日からPHPでメタサーチを作っています。 先日の質問 http://okwave.jp/qa/q7027045.html 複数の検索サイト(Yahoo!、Google等)から選択し、 検索窓に入力した値を検索サイトに送り、 iframe内に表示するようにしました。 しかし本日の昼頃から、Googleの検索結果が表示されなくなりました。 IE9では 「この Web サイトに入力する情報のセキュリティを保護するため、このコンテンツの発行者はフレーム内での表示を許可していません。」 と表示され、 FireFox、chromeではエラーすら表示されません。 iframeに問題があるのでしょうか? objectタグ使用でも変化がなく、 php includeでも表示されませんでした。 Googleの公式サイトを表示する、他の方法がありますでしょうか? ご教示お願い致します。 以下、ソースです。 search5.php <?php if (isset($_GET["keyword"])){ $keyword=$_GET["keyword"]; }else{ $keyword=""; } $keyword4url=urlencode($keyword); ?> <?PHP if (isset($_COOKIE["chk_1"])){ $checked["chk_1"]=" checked"; }else{ $checked["chk_1"]=""; } if (isset($_COOKIE["chk_2"])){ $checked["chk_2"]=" checked"; }else{ $checked["chk_2"]=""; } print_r($_COOKIE); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> function P1(w1){parent.frame1.location.href=w1} function setCookie(key,val,url){ tmp = key+"="+escape(val)+";"; tmp += "expires=Fri, 31-Dec-2030 23:59:59;"; if(url){ tmp += "domain="+getDomain(url)+";"; tmp += "path="+getDomainPath(url)+";"; } document.cookie = tmp; }; function delCookie(key){ expiredate = new Date(); expiredate.setYear(expiredate.getYear()-1); tmp = key+"=;"; tmp += "expires="+expiredate.toGMTString(); document.cookie = tmp; }; function set_cookie_radio(){ delCookie("chk_1"); delCookie("chk_2"); if(document.getElementById("chk_1").checked) setCookie("chk_1","1"); if(document.getElementById("chk_2").checked) setCookie("chk_2","1"); } function del_cookie_radio(){ delCookie("chk_1"); delCookie("chk_2"); } </script> </head> <body> <center> <form action="search5.php" method="get"> キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()"> を <input type="submit" value="検索する"> </form> <form> <input type="button" value="クッキー削除" onclick="del_cookie_radio()"> </form> <form> <input id="chk_1" type="radio" name="RB1" onClick="P1('http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>');set_cookie_radio()" <?PHP echo $checked["chk_1"];?>>Yahoo! <input id="chk_2" type="radio" name="RB1" onClick="P1('http://www.google.co.jp/#q=<?php echo $keyword4url; ?>');set_cookie_radio()" <?PHP echo $checked["chk_2"];?>>Google </form> <iframe src="http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>" name="frame1" frameborder="1" scrolling="auto" width="977" height="600"> </iframe> </center> </body> </html>

  • jQueryでcookie 追加書き込み

    jQueryでcookieに追加書き込みをしたいのですが、どうやってもわかりません。 ここからクッキを追加書き込みを実現したいのですが、 どうやっても頭が回らず困って、混乱気味になっています。 誰か助けてください! おねがいいたします! <!DOCTYPE html> <html lang="jp"> <head> <meta charset="utf-8"> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.7.1");</script> <script type="text/javascript" src="jquery.cookie.js"></script> <script type="text/javascript"> //入力された値をCookieに保持する function cookie(){ $.cookie("cookie", $("#cookieValue").val()); $("#result").html($.cookie("cookie")); } //現在のCookieの値を出力 $(function() { $("#result").html($.cookie("cookie")); }); </script> <title></title> </head> <body> <input id="cookieValue" type="input"> <a href="index.html" onclick="cookie()">クッキー</a> <p><span id="result"></span></p> </body> </html>

  • jquery複数のcheckboxの値について

    どうも、はじめまして、jqueryに興味をもった初心者です。 jqueryを利用で、phpファイルにcheckboxの値を渡し、loadでphpファイルを読み込みたいのですが、うまくいきません。。ご存知の方いましたら、 お手数ですが、教えてください。。 環境、php5.1,jquery1.4, ソース <!--html側--> <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="chk.js"></script> <title></title></head> <body> <input type="checkbox" name="test[]" id="test" value="1">test1 <input type="checkbox" name="test[]" id="test" value="2">test2 <input type="checkbox" name="test[]" id="test" value="3">test3 <input type="checkbox" name="test[]" id="test" value="4">test4 <input type="submit" value="sub" id="sub"> <div id="hbox">ここにロードしたい</div> </body> </html> //chk.js --------------------------- $(function(){ $("#sub").click(function () { var chk = $(".@test:checkbo[name^='test[]']:checked") .val(); $("#hbox").load("form.php",{test:chk}); }); }); //form.php ---------------------------- <?php echo htmlentities( print_r($_GET, true) ); ?> 以上がソースです。。。このソースだと、 checkを入れた値1つしか、phpに渡すことができません。。 checkを入れた値をすべて、phpに渡し、loadしたいのですが、 方法が分からず困ってます。 ご存知の方いましたら、お手数ですが、 分かりやすく、教えていただけませんでしょうか お願いいたします。

  • フォームの内容をクッキーに保存する

    IDをフォームに記入してクッキーに保存し、別ページで使用しようとしています。 フォームに入力してsubmit(onclickでCookieに保存)しようとすると、 1回遅れでCookieに保存されます。 (前々回保存した内容がCookieに保存される) POSTを変数に入れる順番がおかしいのでしょうか? ご教示お願い致します。 以下ソースです。 setid.php <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> <!-- // Cookie設定 // Cookie送信function function setCookie(key,val,url){ tmp = key+"="+escape(val)+";"; tmp += "expires=Fri, 31-Dec-2030 23:59:59;"; if(url){ tmp += "domain="+getDomain(url)+";"; tmp += "path="+getDomainPath(url)+";"; } document.cookie = tmp; location.reload(true); }; // Cookie削除function function delCookie(key){ expiredate = new Date(); expiredate.setYear(expiredate.getYear()-1); tmp = key+"=;"; tmp += "expires="+expiredate.toGMTString(); document.cookie = tmp; }; // Cookie削除(削除ボタン用) function del_cookie_id(){ delCookie("testid"); location.reload(true); } //--> </script> </head> <body> <center> <!-- ID入力フォーム --> <?php // Cookie読込み-ID $testid=$_COOKIE["testid"]; ?> <form action="setid.php" method="post"> <input type="text" name="testid" size="20" value="<?php echo $testid; ?>"> <!-- ID保存ボタン --> <?php $testid=$_POST["testid"]; ?> <input type="submit" name="set_id" value="IDを保存" onclick="setCookie('testid','<?php echo $testid; ?>');"> <!-- ID削除ボタン --> <input type="submit" name="del_id" value="IDを削除" onclick="del_cookie_id()"> </form> <br> <!-- Cookie表示 --> <?php print_r($_COOKIE); ?> <br> </body> </html>

    • ベストアンサー
    • PHP
  • クッキー送信

    以下のコードでクッキーが送信できると思ったのですができません。 どこがいけないでしょうか? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>cookie</title> <script language="javascript"><!-- --></script> </head> <body onLoad="setfocus()"> <?PHP if(!isset($_COOKIE['visited']))// { //はじめての訪問 $count=1; echo"<p></p>"; } else { echo"cookie up<br />"; $count = $_COOKIE['visited']; $count++; } setcookie('visited',$count);// echo "Hello!!<br />"; echo "your ${count} visited!<br />"; echo '<a href="cookie.php">cookie</a>' ?> </body> </html>

    • 締切済み
    • PHP
  • 1つのファイル上で複数のjavascriptを作動

    ボタンを押したり、キーを入力すると別ファイルを呼び出すjavascriptがあります。 今回、同じページに同スクリプトを2つ設置しました。 ********************************************* 【Script1】 キーを入力すると./find.phpを呼び出す ********************************************* <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script type='text/javascript'> $(document).ready(function(){ $("#search_results").slideUp(); $("#search_button").click(function(e){ e.preventDefault(); ajax_search(); }); $("#search_term").keyup(function(e){ e.preventDefault(); ajax_search(); }); }); function ajax_search(){ $("#search_results").show(); var search_val=$("#search_term").val(); $.post("./find.php", {search_term : search_val}, function(data){ if (data.length>0){ $("#search_results").html(data); } }) } </script> ************************************************* Script 1 を呼び出すキー入力画面 ************************************************* <form id="searchform" method="post"> <input type="text" name="search_term" id="search_term"/> <input type="submit" value="全表示" id="search_button" /> </form> ********************************************* 【Script 2】 キーを入力すると./find_op.phpを呼び出す ********************************************* <script type='text/javascript'> $(document).ready(function(){ $("#search_results_op").slideUp(); $("#search_button_op").click(function(e){ e.preventDefault(); ajax_search(); }); $("#search_term_op").keyup(function(e){ e.preventDefault(); ajax_search(); }); }); function ajax_search(){ $("#search_results_op").show(); var search_val=$("#search_term_op").val(); $.post("./find_op.php", {search_term : search_val}, function(data2){ if (data2.length>0){ $("#search_results_op").html(data2); } }) } </script> ************************************************* Script 2 を呼び出すキー入力画面 ************************************************* <form id="searchform_op" method="post"> <input type="text" name="search_term_op" id="search_term_op" /> <input type="submit" value="全表示" id="search_button_op" /> </form> ********************************************* 問題点 「Script 1 を呼び出すキー入力画面」上で文字を入力したりボタンを押したりすると、なぜかScript2が稼働してしまいます。 1つのページの中で、「Script 1」「Script2」がそれぞれ別々に稼働するためにはどこを変更すればよいでしょうか?

  • PHPでのクッキー

    PHPでクッキーを使い、下記のような入力フォームを作りました。 form.phpで入力→form2.phpで正常出力出来るのですが、 直接form2.phpへ飛ぶと、クッキーの値がなくなってしまいます。 setcokkieが、何の値もないのを上書きしていることは理解できるのですが、これを上書きせず回避?する方法はありますでしょうか? よろしくお願いします。 【form.php】 <?PHP parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); ?> <html> <form method="post" action="form2.php"> <?PHP echo "名前1<input type=text name=name1 maxlength=16 size=12 value=$set_name1> <BR>ID<input type=text name=p1 maxlength=8 size=6 value=$set1><BR><BR>"; echo "名前2<input type=text name=name2 maxlength=16 size=12 value=$set_name2> <BR>ID<input type=text name=p2 maxlength=8 size=6 value=$set2>"; ?> <input type="submit" value="実行"> </form> </html> 【form2.php】 <?php $city1 = $_POST["p1"]; $city2 = $_POST["p2"]; $city_name1 = $_POST["name1"]; $city_name2 = $_POST["name2"]; setcookie ("city", "set1=$city1&set2=$city2",time()+3600*24*90); setcookie ("city_name", "set_name1=$city_name1&set_name2=$city_name2",time()+3600*24*90); parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); echo $set_name1; echo $set1; echo $set_name2; echo $set2; ?>

    • ベストアンサー
    • PHP
  • jQueryについて質問です。

    jQueryについて質問です。 複数のプラグインを一つのページに組み込み同時に使いたいのですが、 それぞれが干渉しているのかどれか一つしか使えません。 http://solidstate.jp/Navigation/treeMenu/script_54.html http://solidstate.jp/ContentsDisplay/accordion/script_130.html http://solidstate.jp/Navigation/houseOfCake/script_172.html こちらに紹介されている記事を参考に <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript" src="jquery.navigmenu.js"></script> <script type="text/javascript"> $(function(){ $('#menu').navigmenu(); }); </script> <script type="text/javascript" src="accordian.pack.js"></script> <script type="text/javascript"> window.onload = function() { new Accordian('basic-accordian',5,'header_highlight'); } </script> <script src="lib/jquery.js" type="text/javascript"></script> <script src="lib/jquery.cookie.js" type="text/javascript"></script> <script src="jquery.treeview.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#filetree").treeview({//ターゲットとなる要素に付加するID animated: "fast", //アニメーション設定(削除するとアニメ無し) collapsed: true, //開閉設定(削除するとロード時にメニューを全開) unique: true, //動作設定(削除すると自動的に閉じなくなる) persist: "cookie", //Cookie }); }); </script> このような記述を行いました。 ですが、動くのはひとつだけです。 これらを同時に動かすにはどうすればよいでしょうか? 優先順位は上からです。

  • CakePHPでjQueryを使うには

    ローカル環境にてCakePHPでwebサービスを制作しています。 ブラウザでviewを確認しながら構築しているのですが、この環境でgoogleAPIのjQueryを動作させることは出来るのでしょうか? もしできるとしたら、 <?php echo $this->Html->script('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');?> <script type="text/javascript"> jQuery('#more').click(function(){$('innerboxes').clone().appendTo('box')}); </script> で動かないのは何が問題なのでしょうか? また、googleAPIを使わない方法でも以下のように試しましたが、これも動かない原因はどこにあるのでしょうか? jQueryのホームページでver1.5のソースをコピーし作ったjQuery1.5.jsを、 webroot /jsに入れる。 Controllerに var $helpers=array('Ajax','Javascript'); を記述。 Viewに、 <?php echo $javascript->link('jQuery.1.5.js'); ?> <script type="text/javascript"> jQuery('#more').click(function(){$('innerboxes').clone().appendTo('box')}); </script> 宜しくお願いします。

  • クッキーを食べさせた会員には割引価格を適用したい。

    他所を参考にして作ってみました。 次の3点がよくわかりません。アドバイスをいただけるとありがたいです。 ・価格が表示されない。 ・有効期限は24日間? ・function cgIMG()の役割。 <script type="text/javascript"> function checkmember() { var price = '20000'; var mprice = price * 0.9; if(document.cookie.substring(0, 11) == "cgIMGnm=123"){ fm.kakaku.value = mprice; } else{ fm.kakaku.value = price; } } function eatcookie(name,data,days){ var cdate=new Date(); cdate.setTime(cdate.getTime()+1000*60*60*24*days); document.cookie=name + "=" + data + " ; expires=" + cdate.toGMTString(); } function writeprice() { document.write("<p>会員価格:'+mprice+'</br>通常価格:'+price+'</p>"); } function cgIMG(){ eatcookie("cgIMGnm","123", 10); } </script> <body onload="return checkmember()"> <p> <script type="text/javascript"> if(document.cookie.substring(0, 11) == "cgIMGnm=123"){ document.write('<a href="#" onClick="cgIMG()">' + '現在ログイン中</a>'); } else{ document.write('<a href="#" onClick="cgIMG();location.reload()">' + 'ログインしてください</a>'); } </script> <script type="text/javascript"> writeprice(); </SCRIPT> </p> <form name="fm" id="fm" Action="" METHOD="POST"> <INPUT TYPE="text" NAME="kakaku" id="kakaku"> <SELECT NAME="kazu"> <OPTION>1<OPTION><OPTION>2<OPTION> </SELECT> <INPUT TYPE="SUBMIT" VALUE="カートに入れる"> </FORM> <form> <input type=button onclick=eatcookie("cgIMGnm","0",-1) value="クッキー削除"> </form> </body>

専門家に質問してみよう