• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ラジオボタンをタイトルに)

ラジオボタンをタイトルに

このQ&Aのポイント
  • フォームメールでフォームで選んだラジオボタンの値をタイトルに付ける方法を教えてください。
  • ラジオボタンの値がundefinedとなってしまう問題について解決方法を教えてください。
  • ラジオボタンで4択にした結果もタイトルに表示する方法はありますか?

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

  • ベストアンサー
  • yu-kichan
  • ベストアンサー率40% (4/10)
回答No.6

<SCRIPT language="JavaScript"> function check(){ var radio_atai; for(i = 0;i < 4;i++){ if(document.mail.radio1[i].checked == true){ radio_atai = document.mail.radio1[i].value; } } if (radio_atai){ var box = document.mail.box.value; var mail_subject = box + radio_atai; document.mail.action = "mailto:kodera@sophia-souken.co.jp?subject=" + mail_subject; return true; } else { alert("ラジオボタンが選択されていません"); return false; } } </SCRIPT> ---- スクリプトの部分を、↑と変更してみてください。 回答は、見栄えをよくするために、タブの変わりに全角スペースを 入れているので、エラーになります。 これは、全角スペースを抜いてあります

noname#2601
質問者

お礼

 ありがとうございます。実際的には少し他の部分と重なっている部分があるためにまだ使えないのですが、方法は理解出来たと思います。これを参考に自分が今やろうとしてる部分に組み込んで行こうと思います。

その他の回答 (5)

  • yu-kichan
  • ベストアンサー率40% (4/10)
回答No.5

すみません。 また間違えてしまいました。 for(i = 0;i < 4;i++){ ですね…       

  • yu-kichan
  • ベストアンサー率40% (4/10)
回答No.4

遅いかもしれませんが、テストをしてみました。 -------- <HTML> <HEAD> <SCRIPT language="JavaScript">   function check(){     var radio_atai;     for(i = 0;i < 3;i++){       if(document.mail.radio1[i].checked == true){         radio_atai = document.mail.radio1[i].value;       }     }     if (radio_atai){       var box = document.mail.box.value;       var mail_subject = box + radio_atai;       document.mail.action = "mailto:メールアドレス?subject=" + mail_subject;       return true;     } else {       alert("ラジオボタンが選択されていません");       return false;     }   } </SCRIPT> </HEAD> <BODY> <form method="post" name="mail" enctype="text/plain"> <INPUT TYPE="radio" name="radio1" value="test1">test1 <INPUT TYPE="radio" name="radio1" value="test2">test2 <INPUT TYPE="radio" name="radio1" value="test3">test3 <INPUT TYPE="radio" name="radio1" value="test4">test4 <BR> <INPUT TYPE="text" name="box"> <BR> <INPUT TYPE="submit" value="test" onClick="return check()"> </FORM> </BODY> </HTML> -------- このようでもいいでしょうか?

noname#2601
質問者

補足

 何度も回答してもらってすみませんが、CGIは使わないでフォームメールでやりたいのですが、この方法でも可能でしょうか?コピー&ペーストでメールアドレスだけ自分のアドレスに書き換えて使って見たところリセットされるようなのですが。。。どういう事でしょうか?一応書かれてる構文自体はある程度わかったのですがそこから進めません(>_<)

回答No.3

すいません、回答の補足です。 for(i = 0;i < 3;i++){ となっていますが、四択であれば for(i = 0;i < 4;i++){ ですね。

回答No.2

> document.mail.ラジオボタン名.checked これはラジオボタンがチェックされているかどうかの真偽を返すためのものです。ですので、ラジオボタンの値を返すには下の方が書かれたようになります。 ただし、下の方が書かれたやり方で値をCGIに渡すにはスクリプト内で行う必要があります。onSubmitに直接書くのではなく、ヘッダーに関数を作って、それを呼び出すようにすれば良いのではないでしょうか。 var radio_atai; function SUBMIT(){ for(i = 0;i < 3;i++){ if(document.mail.ラジオボタン名[i].checked == true){ radio_atai = document.mail.ラジオボタン名[i].value; } } if(radio_atai){ location.href='mailto:メールアドレス?subject=' + document.mail.elements['ボックス名'].value + radio_atai; }else{ return false; } } <FORM NAME="mail" onSubmit="return SUBMIT()">

  • yu-kichan
  • ベストアンサー率40% (4/10)
回答No.1

document.mail.ラジオボタン名[i].checked チェックされている場合、true されていない場合、false ラジオボタンで4択にする場合、javascriptのfor で0~3回して、trueのものの値 document.mail.ラジオボタン名[i].value で値が入ってきます。 ------ for(i = 0;i < 3;i++){   if(document.Myform.ラジオボタン名[i].checked == true){    radio_atai = document.Myform.ラジオボタン名[i].value;   } } ------ radio_atai に、ラジオボタン名の値が入ります。

noname#2601
質問者

補足

この場合スクリプトをヘッダに書きたしておいて document.mail.ラジオボタン名.checkedと私が書いている所をradio_ataiにすれば良いのでしょうか? さっそく試したのですがどこか間違えたのか上手く動作しないみたいです。

関連するQ&A