• ベストアンサー

同意を求めて、次のページに進む方法

他の質問等を見たのですが、初心者の自分にはわからず、質問を新たにしました。 質問は、ページ内にあるよくある、同意を求めて、 ”はい”だと注文ページへ。 ”いいえ”だとはいにチェックをし、注文ページへ進んで下さい。 などと表示できるようにしたいのですが、どのようにしたらよいのか 教えて下さい。 また、ただ、<A href="xxxxx.html">同意する</A> 、<A href="xxxxx.html">同意しない</A> という形は避けたいです。 できれば <SCRIPT LANGUAGE="JavaScript"> function check() { chk = document.formChecker.Checker; if (chk = "YES") { //YES this.location.href = "yes.html"; } else { if (chk = "NO") { //NO this.location.href = "no.html"; } }} </SCRIPT> <FORM NAME="formChecker"> <INPUT TYPE="radio" NAME="Checker" VALUE="YES"> Yes <INPUT TYPE="radio" NAME="Checker" VALUE="NO"> No <INPUT TYPE="button" VALUE="送信" onClick="check()"> </FORM> みたいな形にしたいのですが、上記のタグでは グチャグチャで思ったように動きません。 どなたか、上記を正しく直し、アドバイスをいただけると 助かります。よろしくお願いします。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • ww-_-ww
  • ベストアンサー率51% (46/89)
回答No.2

自分的に作るとしたらこうしますかね。 <SCRIPT LANGUAGE="JavaScript"> function check() { var chk; for(i = 0; i < formChecker.Checker.length; i++){ if(formChecker.Checker[i].checked){ // 押されている場合 chk = formChecker.Checker[i].value; break; } } if (chk == "YES") { //YES location.href = "yes.html"; } else if (chk == "NO"){ //NO location.href = "no.html"; } } </SCRIPT> <FORM NAME="formChecker"> <INPUT TYPE="radio" NAME="Checker" VALUE="YES" CHECKED> Yes <INPUT TYPE="radio" NAME="Checker" VALUE="NO" > No <INPUT TYPE="button" VALUE="送信" onClick="check()"> </FORM>

yasu_obent
質問者

お礼

大変ありがとうございました。 早急なご対応大変感謝いたします。

その他の回答 (2)

  • ww-_-ww
  • ベストアンサー率51% (46/89)
回答No.3

No2です。 アドバイスを書き忘れました。。 さっきの関数ですと、NAMEと、IF文の処理方法を変えればラジオボタンの処理は汎用的に使えます。 また、ラジオボタンの場合はNo1さんも言ってたようにタグオプションのCHECKEDをつけることをおススメしますよ。

yasu_obent
質問者

お礼

なるほど。 確かに、応用できますね。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

そのままでやるなら・・・  chk = document.formChecker.Checker;          ↓ var elm = document.forms('formChecker').elements('Checker'); var chk = elm[0].checked?'YES':(elm[1].checked?'NO':''); の2行に置き換えればchkに"YES","NO",""のどれかの値が入ります。 (""はどちらもチェックされていない時(=現状のロード時)) ロード時に片方をチェックしておくなら、タグのオプションでcheckedを指定しておけば、チェックされた状態になります。 なお、後半の  this.location.href = "yes.html";  などのthisは不要です。(いれるなら、window.location.href)

yasu_obent
質問者

お礼

早急なご返事ありがとうございました。

関連するQ&A

  • Firefoxのdisabledプロパティのバグ?

    複数のラジオボックスがあり、すべてのラジオボタンで 「YES」がチェックされた時にだけ、submitボタンが 有効になるようJavaScriptで制御できればと思ってます。 素人ながら以下のようなJavascriptにしたところ、 IEやSafari、Chromeでは意図した通り動作しましたが、 ただFirefoxのみボタンがdisabledになったまま有効になりませんでした。 解決策がわかる方がいらっしゃればご教授お願いできればと思います。 よろしくお願い致します。 <script type="text/javascript"> <!-- function check() { if (form1.radio1[0].checked && form1.radio2[0].checked && form1.radio3[0].checked) { form1.send.disabled = false; } else { form1.send.disabled = true; } } ; //--> </script> <form name="form1"> <input type="radio" name="radio1" value="1" >YES <input type="radio" name="radio1" value="2">NO <input type="radio" name="radio2" value="1">YES <input type="radio" name="radio2" value="2">NO <input type="radio" name="radio3" value="1" onClick="check()">YES <input type="radio" name="radio3" value="2">NO <input type="button" name="send" value="GO" onclick="location.href='hogehoge.html'" disabled="disabled"> </form>

  • 【心理テスト作成】JavaScriptでページが表示されません

    チェックボックスを作り、 チェックが○個で「A」のページ、 チェックが○個で「B」のページ、 といったような簡易的な心理テストを作成したいと思い、 下記の方法を教えていただいたのですが、 正常に表示がされません(泣) 「送信」のボタンを押しても何もアクションが起こらないです… 私のPCに問題があるのでしょうか?? 申し訳ありません、 初心者でよく分かりませんのでよろしくお願い致します。 ▼ココからです▼ <html> <head> <title>Sample</title> <script language="JavaScript"> <!-- function jump() { count = 0; for (var i=0;i<document.sampleform.elements["check"].length;i++){ if ((document.sampleform.elements[i].name == "check") && (document.sampleform.elements[i].checked)) { count ++; } } if (count == 0) { // 一つもチェックされていない場合 location.href("​http://www.yahoo.co.jp");​ } else if (count <= 3) { // チェックが3個以下の場合 location.href("​http://www.google.co.jp");​ } else { // チェックが4個以上の場合 location.href("​http://www.msn.co.jp");​ } } //--> </script> </head> <body> <form name="sampleform"> <input type="checkbox" name="check" value="A"> A<br> <input type="checkbox" name="check" value="B"> B<br> <input type="checkbox" name="check" value="C"> C<br> <input type="checkbox" name="check" value="D"> D<br> <input type="checkbox" name="check" value="E"> E<br> <input type="button" value="送信" onclick="jump();"> </form> </body> </html>

  • javascriptでチェックボックスの選択状況をチェックする方法につ

    javascriptでチェックボックスの選択状況をチェックする方法について質問です。 チェックボックスを <input type="checkbox" name="chk[]" value="1"> <input type="checkbox" name="chk[]" value="2"> のようにした場合、チェックボックスが1か所以上選択されているかどうかは、 var count = 0; for (var i=0;i<document.myform.elements['chk[]'].length;i++){ if(document.myform.elements['chk[]'][i].checked){ count++; } } if(count==0){ window.alert("チェックしてください!"); } のようにすればチェック可能ですが、inputタグで <input type="checkbox" name="chk1[]" value="1"> <input type="checkbox" name="chk1[]" value="2"> <input type="checkbox" name="chk2[]" value="A"> <input type="checkbox" name="chk2[]" value="B"> のように「name」の配列名が変化する場合はどのようにすればチェック可能でしょうか?

  • チェックボックスの全選択

    <input type="checkbox" name="chk" value=1> <input type="checkbox" name="chk" value=2> <input type="checkbox" name="chk" value=3> <input type="checkbox" name="chk" value=4> <input type="checkbox" name="chk" value=5> このように同一名称のチェックボックスに対して ボタンを押下された時全てのチェックボックスを チェックするJavaScriptの 書き方を教えて貰えないでしょうか

  • ラジオボタンのチェック数に応じて、リンク先のページを切り替えたい

    「yes」か「no」だけを選択できるラジオボタンを10組準備し、 yesが選択された数だけをカウントし、 yesの数:0~2 → 01.htm yesの数:3~5 → 02.htm yesの数:6~8 → 03.htm yesの数:9以上 → 04.htm ラジオボタンをチェックし終えた後、 ボタンをクリックすると目的のページにジャンプする仕組みを造りたいのですが、 JavaScriptが全くわからないため、 本と格闘したものの作ることが出来ませんでした。 formの名前は「test」とし、 各ラジオボタンの名前は「q01」「q02」・・・と番号を振って管理しています。 HTMLのソースを記載します。 <form name="test"> <p> <input type="radio" name="q1" value="1">はい  <input type="radio" name="q1" value="0">いいえ </p> <p> <input type="radio" name="q2" value="1">はい  <input type="radio" name="q2" value="0">いいえ </p> <p> <input type="radio" name="q3" value="1">はい  <input type="radio" name="q3" value="0">いいえ </p> ~以下name="q10"まで続く <input type="button" value="採点"> </form> どなたか是非、お知恵をお貸しください。

  • フォームについて

    お世話になります。 フォームについての質問なんですが、例えば、↓のようなフォームがあったとします。 <form> <input type="radio" name="sample" value="同意する">同意する <input type="radio" name="sample" value="同意しない">同意しない <input type="button" value="同意して申し込む" onClick="location.href='http://www.google.co.jp/'"> </form> このフォームは「同意する」「同意しない」の選択にかかわらず、「同意して申し込む」をクリックすればgoogleのトップページが開きます。これを、「同意する」を選択していないと、googleのトップページが開かないようにしたいのです。「同意しない」が選択されていたら、動作しないようにしたいです。分かりにくい説明かもしれませんが、どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • チェックボックスの値を、ページまたぎさせる

    質問内容が伝わりにくかったら申し訳ありません。 現在、aspを使い、以下のようなプログラムを組もうとしています。 [ファイル] 1.asp 1-1.asp 2.asp [仕様] ○1.aspにある「A」ボタンを押すと、1-1.aspが別窓で開く。 ○1-1.aspにはチェックボックスが30個、「確定」ボタン、「戻る」ボタンがある。「確定」ボタンを押すと、チェックボックスの値を保持し、1-1.aspを閉じる。「戻る」ボタンを押すと、チェックボックスの値を保持せず、1-1.aspを閉じる。 ○1.aspにある「B」ボタンを押すと、2.aspが開く。 ○2.aspにおいて、1-1.aspでチェックされた値を利用する。 つまり、1-1.aspでチェックした値を、2.aspで利用したいのです。 私が考えたプログラムは、以下のとおりです。 しかし、このプログラムだと、(1)の行でエラーが起きてしまうようです。 [1-1.asp] <form method=post action="2.asp"> <input type=checkbox name="chk" value="1"> <input type=checkbox name="chk" value="2"> <input type=checkbox name="chk" value="3"> ・ ・ <input type=checkbox name="chk" value="30"> </form> [2.asp] <% SCRIPT LANGUAGE = JAVASCRIPT %> <% Dim a,a_split,b a=Request.Form("chk") ・・・(1) a_split=split(a,",") for each b in a_split Response.Write(b) next %> <input type=hidden>で送る方法等も検索してみましたが、やはり「次のページへチェックボックスの値を送る」方法はあるのですが、「ページをまたぐ」ような処理が分かりません。 どなたか、[仕様]を達成できるようなプログラムのご教授をお願いいたします。

  • プルダウンから飛んだページにアクセスする方法

    アクセスする事が出来なくて困っています。初歩的なもので申し訳ないのですが、よろしくお願いします。 <HTML> <HEAD> <TITLE> </TITLE> <script language="javascript"> <!-- function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } //--> </script> </HEAD> <BODY> <form method=post> <select name="navi">  <option value a href="URL">リンク <option value a href="URL">リンク1 <option value a href="URL">リンク2 <option value a href="URL">リンク3 </select> <input type=button value="ジャンプ" onClick="location.href =(this.form.navi.options[this.form.navi.selectedIndex].value)"> </form> </BODY> </HTML>

  • ページのジャンプ

    過去に同じような質問もありましたが、いろいろ検索してこちらの過去ログを拝見しても解決できなかったので質問させてください。 ラジオボタンで選択してボタンを押すとジャンプするプログラムを作りたいのですが、 location.href = "http://www.yahoo.co.jp/"; でジャンプしません。 こちらがソースです。 <SCRIPT language="JavaScript"> function sopp(frm){ if(frm.go[0].checked){ location.href = "http://www.yahoo.co.jp/"; } if(frm.go[1].checked){ location.href = "http://www.google.com/"; } if(frm.go[2].checked){ location.href = "http://jp.msn.com/"; } } } </SCRIPT> <form name="pon" onSubmit="return sopp(this)"> <input type='radio' name='go' value='YAHOO!JAPAN'> YAHOO!JAPAN<br> <input type='radio' name='go' value='google'> google<br> <input type='radio' name='go' value='MSN'> MSN<br> <input type="submit" name="mol" VALUE="ウインドウを開く"> </form> どうかお分かりになる方ご教授お願いします。

  • HTML ラジオボタン nameの大文字/小文字

    とあるフォームでnameの値に指定があり、 複数のラジオボタンのnameにて値の中の アルファベットの大文字と小文字のみの違いのものが存在します。 例) ------------------------------------ <input type="radio" name="123456a" value="Yes" />Yes <input type="radio" name="123456a" value="No" />No <input type="radio" name="123456A" value="100円" />100円 <input type="radio" name="123456A" value="200円" />200円 <input type="radio" name="123456A" value="300円" />300円 ------------------------------------ ブラウザでプレビューすると同じものとして扱われてしまい、 別の質問にも関わらず互いでチェックを消し合ってしまいます。 nameの値は指定されてしまっているため nameの値を変えることなく違いを認識させることは可能でしょうか.. ちなみにプルダウンなどに変更すれば動作するのですが、 ラジオボタンの状態で対応策をお教えいただけると助かります。 ご存知の方がいらっしゃいましたらお教えください。

    • ベストアンサー
    • HTML

専門家に質問してみよう