-PR-
解決済み

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

  • すぐに回答を!
  • 質問No.92876
  • 閲覧数118
  • ありがとう数3
  • 気になる数0
  • 回答数6
  • コメント数0

 フォームメールでフォームで選んだラジオボタンの値をタイトルに付けたいのですが、どうすればよいのでしょうか?私はこのようにしてるのですが
<form method="post" name="mail" enctype="text/plain" onsubmit="document.mail.action='mailto:メールアドレス?subject=' + document.mail.elements['ボックス名'].value + document.mail.ラジオボタン名.checked">
これでやるとボックスの値はタイトルになるのですが、ラジオボタンの値がundefinedとなってしまうのです。
 ラジオボタンで4択にした結果もタイトルに表示する方法は無いものでしょうか?どうか教えて下さい。
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.6
レベル7

ベストアンサー率 40% (4/10)

<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

 ありがとうございます。実際的には少し他の部分と重なっている部分があるためにまだ使えないのですが、方法は理解出来たと思います。これを参考に自分が今やろうとしてる部分に組み込んで行こうと思います。
投稿日時 - 2001-06-20 14:41:06
関連するQ&A
-PR-
-PR-

その他の回答 (全5件)

  • 回答No.1
レベル7

ベストアンサー率 40% (4/10)

document.mail.ラジオボタン名[i].checked チェックされている場合、true されていない場合、false ラジオボタンで4択にする場合、javascriptのfor で0~3回して、trueのものの値 document.mail.ラジオボタン名[i].value で値が入ってきます。 ------ for(i = 0;i < 3;i++){   if ...続きを読む
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にすれば良いのでしょうか?
さっそく試したのですがどこか間違えたのか上手く動作しないみたいです。
投稿日時 - 2001-06-20 11:20:35


  • 回答No.2
レベル9

ベストアンサー率 45% (29/64)

> document.mail.ラジオボタン名.checked これはラジオボタンがチェックされているかどうかの真偽を返すためのものです。ですので、ラジオボタンの値を返すには下の方が書かれたようになります。 ただし、下の方が書かれたやり方で値をCGIに渡すにはスクリプト内で行う必要があります。onSubmitに直接書くのではなく、ヘッダーに関数を作って、それを呼び出すようにすれば良いのではな ...続きを読む
> 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()">
  • 回答No.3
レベル9

ベストアンサー率 45% (29/64)

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

ベストアンサー率 40% (4/10)

遅いかもしれませんが、テストをしてみました。 -------- <HTML> <HEAD> <SCRIPT language="JavaScript">   function check(){     var radio_atai;     for(i = 0;i < 3;i++){       if(document.m ...続きを読む
遅いかもしれませんが、テストをしてみました。

--------
<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は使わないでフォームメールでやりたいのですが、この方法でも可能でしょうか?コピー&ペーストでメールアドレスだけ自分のアドレスに書き換えて使って見たところリセットされるようなのですが。。。どういう事でしょうか?一応書かれてる構文自体はある程度わかったのですがそこから進めません(>_<)
投稿日時 - 2001-06-20 13:46:46
  • 回答No.5
レベル7

ベストアンサー率 40% (4/10)

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

for(i = 0;i < 4;i++){

ですね…
      
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ