チェックボックスの表示エラーについて

このQ&Aのポイント
  • チェックボックスがundefinedと表示される問題が発生しています。解決方法を教えてください。
  • 特定の入力方法によって、チェックボックスの表示がundefinedになってしまいます。どのように修正すればよいでしょうか?
  • チェックボックスを選択した後、undefinedが表示されてしまいます。問題を解決する方法を教えてください。
回答を見る
  • ベストアンサー

チェックボックスがundefinedと表示します

下記のように入力すると、チェックボックスがundefinedと表示されてしまいます。 どのように変更すればよいのでしょうか? 教えてください <script type="text/javascript"> <!-- function CheckForm() { //****************送信内容の取得**************** var data = new Array(); var namesArray = new Array( 'Name', 'Sex', 'Age', 'Address' , 'Tel', 'Email'); var f = document.forms[0]; for (var i in namesArray) { var n = namesArray[i]; if (n == 'Sex') { data[n] = ''; for (var j = 0; j < f[n].length; j++) { if (f[n][j].checked) { data[n] = f[n][j].value; break; } } } else { data[n] = f[n].value; } } //****************名前のチェック**************** if (data.Name.length == 0) { alert('名前が入力されていません。'); f.Name.focus(); return false; } //***********確認ダイアログによる確認*********** return confirm('下記の内容で送信して' + 'よろしいですか?\n\n' + '選んでください:\t\t' + data.Course1 + '\n' + data.Course2 + '\n' + data.Course3 + '\n' + '名前:\t\t' + data.Name + '\n' + '性別:\t\t' + data.Sex + '\n' + '年齢:\t\t' + data.Age + '\n' + '住所:\t\t' + data.Address + '\n' + '電話番号:\t' + data.Tel + '\n' + 'E-Mailアドレス:\t' + data.Email); } //--> </script> <form action="/kantan-cgi/formmail.pl?id=*********" method="post" onSubmit="return CheckForm();"> <dl> <dt><span class="mainBp">【選んでください】</span></dt> <dd><input type="checkbox" name="Course1" value="コース1" />コース1 <input type="checkbox" name="Course2" value="コース2" />コース2 <input type="checkbox" name="Course3" value="コース3" />コース3</dd> <dt>名前(必須)</dt> <dd><input type="text" name="Name" /></dd> <dt>性別</dt> <dd> <input type="radio" name="Sex" value="男性" />男 <input type="radio" name="Sex" value="女性" />女 </dd> <dt>年齢</dt> <dd><input type="text" name="Age" size="2" /></dd> <dt>住所</dt> <dd><input type="text" name="Address" size="70" /></dd> <dt>電話番号</dt> <dd><input type="text" name="Tel" /></dd> <dt>E-Mailアドレス</dt> <dd><input type="text" name="Email" size="50" /></dd> </dl> <input type="submit" value="送信" /> </form>

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

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

ああ、セレクトですね・・・ その場合はチェック項目を一つ増やします <script> function CheckForm(f){ var namesArray = new Array( {"key":'Name',"err":"名前が入力されていません。"} , {"key":'Sex',"err":"性別が選択されていません。"} , {"key":'Age',"err":"年齢が入力されていません。"} , {"key":'Address',"err":"住所が入力されていません。"} , {"key":'Tel',"err":"電話番号が入力されていません。"} , {"key":'Email',"err":"メールアドレスが入力されていません。"} , {"key":'Visited',"err":"利用履歴が選択されていません。"} ); for (var i in namesArray){ var k = namesArray[i]["key"]; var e = f.elements[k]; if(e.type=="text" && e.value==""){ alert(namesArray[i]["err"]); return false; } if(e.type=="select-one" && e.value==""){ alert(namesArray[i]["err"]); return false; } if((typeof e[0])!="undefined" && e[0].type=="radio"){ var flg=true; for(var j=0;j<e.length;j++){ if(e[j].checked){ flg=false; break; } } if(flg){ alert(namesArray[i]["err"]); return false; } } } var msg=""; msg+='選んでください:\n' ; msg+=f.elements["Course1"].checked?'\t\t'+f.elements["Course1"].value+ '\n':""; msg+=f.elements["Course2"].checked?'\t\t'+f.elements["Course2"].value+ '\n':""; msg+=f.elements["Course3"].checked?'\t\t'+f.elements["Course3"].value+ '\n':""; msg+='名前:\t\t' + f.elements["Name"].value + '\n'; msg+='性別:\t\t' + (f.elements["Sex"][0].checked?f.elements["Sex"][0].value:f.elements["Sex"][1].value )+ '\n'; msg+='年齢:\t\t' + f.elements["Age"].value + '\n'; msg+='住所:\t\t' + f.elements["Address"].value + '\n'; msg+='電話番号:\t' + f.elements["Tel"].value + '\n'; msg+='E-Mailアドレス:\t' + f.elements["Email"].value + '\n'; msg+='履歴:\t\t' + f.elements["Visited"].value + '\n'; return confirm('下記の内容で送信してよろしいですか?\n\n'+msg); } </script> <form onSubmit="return CheckForm(this);"> <dl> <dt><span class="mainBp">【選んでください】</span></dt> <dd><input type="checkbox" name="Course1" value="コース1" />コース1 <input type="checkbox" name="Course2" value="コース2" />コース2 <input type="checkbox" name="Course3" value="コース3" />コース3</dd> <dt>名前(必須)</dt> <dd><input type="text" name="Name" /></dd> <dt>性別</dt> <dd> <input type="radio" name="Sex" value="男性" />男 <input type="radio" name="Sex" value="女性" />女 </dd> <dt>年齢</dt> <dd><input type="text" name="Age" size="2" /></dd> <dt>住所</dt> <dd><input type="text" name="Address" size="70" /></dd> <dt>電話番号</dt> <dd><input type="text" name="Tel" /></dd> <dt>E-Mailアドレス</dt> <dd><input type="text" name="Email" size="50" /></dd> <dt>利用履歴(必須)</dt> <dd><select name="Visited"> <option value=""> -- 選択して下さい -- </option> <option value="利用したことがない">利用したことがない</option> <option value="以前、利用したことがある">以前、利用したことがある</option> </select></dd> </dl> <input type="submit" value="送信" /> </form>

syunra
質問者

お礼

ありがとうございました。 感謝感謝です

その他の回答 (4)

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

>のなかにメニューフォームを入れたのですが、反応しません ごめんなさい、意味がわからない。 メニューフォームとは何のことで、それをどのように実装したいのでしょうか? 具体的に提示していただけると回答できるかも

syunra
質問者

お礼

下記の利用履歴の <dt>利用履歴(必須)</dt> <dd><select name="Visited"> <option value=""> -- 選択して下さい -- </option> <option value="利用したことがない">利用したことがない</option> <option value="以前、利用したことがある">以前、利用したことがある</option> </select></dd> だと {"key":'Visited',"err":"利用履歴が選択されていません。"} が反応しないのです。何度もすみさせんお願いします。 ---------------------------------------------------------------------- <script> function CheckForm(f){ var namesArray = new Array( {"key":'Visited',"err":"利用履歴が選択されていません。"} , {"key":'Name',"err":"名前が入力されていません。"} , {"key":'Sex',"err":"性別が選択されていません。"} , {"key":'Age',"err":"年齢が入力されていません。"} , {"key":'Address',"err":"住所が入力されていません。"} , {"key":'Tel',"err":"電話番号が入力されていません。"} , {"key":'Email',"err":"メールアドレスが入力されていません。"} ); for (var i in namesArray){ var k = namesArray[i]["key"]; var e = f.elements[k]; if(e.type=="text" && e.value==""){ alert(namesArray[i]["err"]); return false; } if((typeof e[0])!="undefined" && e[0].type=="radio"){ var flg=true; for(var j=0;j<e.length;j++){ if(e[j].checked){ flg=false; break; } } if(flg){ alert(namesArray[i]["err"]); return false; } } } var msg=""; msg+='選んでください:\n' ; msg+=f.elements["Course1"].checked?'\t\t'+f.elements["Course1"].value+ '\n':""; msg+=f.elements["Course2"].checked?'\t\t'+f.elements["Course2"].value+ '\n':""; msg+=f.elements["Course3"].checked?'\t\t'+f.elements["Course3"].value+ '\n':""; msg+='利用履歴:\t\t' + f.elements["Visited"].value + '\n'; msg+='名前:\t\t' + f.elements["Name"].value + '\n'; msg+='性別:\t\t' + (f.elements["Sex"][0].checked?f.elements["Sex"][0].value:f.elements["Sex"][1].value )+ '\n'; msg+='年齢:\t\t' + f.elements["Age"].value + '\n'; msg+='住所:\t\t' + f.elements["Address"].value + '\n'; msg+='電話番号:\t' + f.elements["Tel"].value + '\n'; msg+='E-Mailアドレス:\t' + f.elements["Email"].value; return confirm('下記の内容で送信してよろしいですか?\n\n'+msg); } </script> <form onSubmit="return CheckForm(this);"> <dl> <dt><span class="mainBp">【選んでください】</span></dt> <dd><input type="checkbox" name="Course1" value="コース1" />コース1 <input type="checkbox" name="Course2" value="コース2" />コース2 <input type="checkbox" name="Course3" value="コース3" />コース3</dd> <dt>利用履歴(必須)</dt> <dd><select name="Visited"> <option value=""> -- 選択して下さい -- </option> <option value="利用したことがない">利用したことがない</option> <option value="以前、利用したことがある">以前、利用したことがある</option> </select></dd> <dt>名前(必須)</dt> <dd><input type="text" name="Name" /></dd> <dt>性別</dt> <dd> <input type="radio" name="Sex" value="男性" />男 <input type="radio" name="Sex" value="女性" />女 </dd> <dt>年齢</dt> <dd><input type="text" name="Age" size="2" /></dd> <dt>住所</dt> <dd><input type="text" name="Address" size="70" /></dd> <dt>電話番号</dt> <dd><input type="text" name="Tel" /></dd> <dt>E-Mailアドレス</dt> <dd><input type="text" name="Email" size="50" /></dd> </dl> <input type="submit" value="送信" /> </form>

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

今回のケースだとこんな感じでしょうか? かなり元ソースが汚いので、よく推敲して理解を深めた方がよいでしょう あと、コースについては「少なくともどれか一つは選ばなくてはいけない」など 特殊なバリデートが必要な気がしますが・・・ <script> function CheckForm(f){ var namesArray = new Array( {"key":'Name',"err":"名前が入力されていません。"} , {"key":'Sex',"err":"性別が選択されていません。"} , {"key":'Age',"err":"年齢が入力されていません。"} , {"key":'Address',"err":"住所が入力されていません。"} , {"key":'Tel',"err":"電話番号が入力されていません。"} , {"key":'Email',"err":"メールアドレスが入力されていません。"} ); for (var i in namesArray){ var k = namesArray[i]["key"]; var e = f.elements[k]; if(e.type=="text" && e.value==""){ alert(namesArray[i]["err"]); return false; } if((typeof e[0])!="undefined" && e[0].type=="radio"){ var flg=true; for(var j=0;j<e.length;j++){ if(e[j].checked){ flg=false; break; } } if(flg){ alert(namesArray[i]["err"]); return false; } } } var msg=""; msg+='選んでください:\n' ; msg+=f.elements["Course1"].checked?'\t\t'+f.elements["Course1"].value+ '\n':""; msg+=f.elements["Course2"].checked?'\t\t'+f.elements["Course2"].value+ '\n':""; msg+=f.elements["Course3"].checked?'\t\t'+f.elements["Course3"].value+ '\n':""; msg+='名前:\t\t' + f.elements["Name"].value + '\n'; msg+='性別:\t\t' + (f.elements["Sex"][0].checked?f.elements["Sex"][0].value:f.elements["Sex"][1].value )+ '\n'; msg+='年齢:\t\t' + f.elements["Age"].value + '\n'; msg+='住所:\t\t' + f.elements["Address"].value + '\n'; msg+='電話番号:\t' + f.elements["Tel"].value + '\n'; msg+='E-Mailアドレス:\t' + f.elements["Email"].value; return confirm('下記の内容で送信してよろしいですか?\n\n'+msg); } </script> <form onSubmit="return CheckForm(this);"> <dl> <dt><span class="mainBp">【選んでください】</span></dt> <dd><input type="checkbox" name="Course1" value="コース1" />コース1 <input type="checkbox" name="Course2" value="コース2" />コース2 <input type="checkbox" name="Course3" value="コース3" />コース3</dd> <dt>名前(必須)</dt> <dd><input type="text" name="Name" /></dd> <dt>性別</dt> <dd> <input type="radio" name="Sex" value="男性" />男 <input type="radio" name="Sex" value="女性" />女 </dd> <dt>年齢</dt> <dd><input type="text" name="Age" size="2" /></dd> <dt>住所</dt> <dd><input type="text" name="Address" size="70" /></dd> <dt>電話番号</dt> <dd><input type="text" name="Tel" /></dd> <dt>E-Mailアドレス</dt> <dd><input type="text" name="Email" size="50" /></dd> </dl> <input type="submit" value="送信" /> </form>

syunra
質問者

お礼

何度もすみません 上記の var namesArray = new Array( {"key":'Name',"err":"名前が入力されていません。"} , {"key":'Sex',"err":"性別が選択されていません。"} , {"key":'Age',"err":"年齢が入力されていません。"} , {"key":'Address',"err":"住所が入力されていません。"} , {"key":'Tel',"err":"電話番号が入力されていません。"} , {"key":'Email',"err":"メールアドレスが入力されていません。"} ); のなかにメニューフォームを入れたのですが、反応しません どうしてでしょうか?

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

#1 です。 必須項目を加えるのなら「名前」と同じ要領でやれないでしょうか? 汎用性重視なら http://www.tagindex.com/kakolog/q4bbs/2201/2595.html が参考になるかも。

syunra
質問者

お礼

サイトを確認したのですが素人なので... ちょっと理解できませんでした すみません よろしければ、いちどサイトを見てもらえないでしょうか? http://www.david-men.com/webmail.html

  • think49
  • ベストアンサー率59% (285/482)
回答No.1

チェックボックスの処理が全く入ってないじゃないですか…。 http://jsfiddle.net/C5xSP/1/

syunra
質問者

お礼

ありがとうございました。 問題解決しました。 ただ、あまりに使っていたjavascriptの記述と違いすぎて、こんどは必須の追加ができなくなてしまいました。どのように追加すればよいでしょうか?

関連するQ&A

  • チェックボックスの表示・非表示 動作

    はじめまして。 初めて掲示板を利用させていただきます。javascriptを勉強しまだ日が浅いのでご存知の方がいらっしゃれば教えてください。 今、チェックボックスを選択し選択した項目がアクティブになるようにしたいのですが、選択項目が重複すると以下のようになってしまいました。 A+AB=AB A+AB+E=ABE 個々までは問題なし。 既に全てのチェックが付いた上体で、ABCE-A=BCE となってしまい、 ABのチェックが入っていても、Aが消えてしまいます。 以下に現在のコードを張ります。 <script type='text/javascript'> <!-- function fchk2(obj, name) { var frm=obj.form; if(obj.checked==true) { /* チェックボックスが選択されている場合は、   テキストボックスを有効化(false)*/ for(var i=1; i<=3; i++){ frm.elements[name+i].disabled=false; } } else { for(var i=1; i<=3; i++){ /* 無効化する前に、入力値をクリア */ if(name=='t'){ /* テキストボックスの場合 */ frm.elements[name+i].value=''; }else{ /* チェックボックスの場合 */ frm.elements[name+i].checked=false; } /* 無効化(true) */ frm.elements[name+i].disabled=true; } } } //--> </script> <form name='form2' action='#'> <input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t")' checked>A<br> <input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t");fchk2(this,"b");' checked>AとB<br> <input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t");fchk2(this,"e");' checked>AとE<br> <input type='checkbox' name='chk2' value='1' onclick='fchk2(this,"c");fchk2(this,"e");' checked>CとE<br> <br> A<input type='text' name='t1' value='テキストA'><br> A<input type='text' name='t2' value='テキストB'><br> A<input type='text' name='t3' value='テキストC'><br> <br> B<input type='text' name='b1' value='テキストA'><br> B<input type='text' name='b2' value='テキストB'><br> B<input type='text' name='b3' value='テキストC'><br> <br> <input type='checkbox' name='c1' value='1'> 選択肢C<br> <input type='checkbox' name='c2' value='1'> 選択肢C<br> <input type='checkbox' name='c3' value='1'> 選択肢C<br> <br> <input type='checkbox' name='e1' value='1'> 選択肢E<br> <input type='checkbox' name='e2' value='1'> 選択肢E<br> <input type='checkbox' name='e3' value='1'> 選択肢E </form> よろしくお願いいたします。

  • アンケート集計フォーム、チェックボックスでのデータ取得

    フォームから、テキストボックスと、プルダウンを使用してデータを取得するcgiに、 チェックボックスを加えようと思うのですが、うまくいきません。 どなたかご教授お願い致します。 入力が適切ならば、hiddenで書き込み 不適切ならばフォームを表示。 テキスト入力の場合 # email if ($e_email){ $t_email = "<input type=\"text\" size=\"20\""; }else{ $t_email = "$email<input type=\"hidden\""; } $t_email .= "name=\"email\" value=\"$email\">\n"; プルダウンの場合 # way if ($e_way){ $t_way = "<select size=\"1\" name=\"way\">\n"; $t_way .= "<option selected>連絡方法を選択して下さい\n"; $t_way .= "<option>E-mail\n"; $t_way .= "<option>電話\n"; $t_way .= "</select>\n"; }else{ $t_way = "$way<input type=\"hidden\" name=\"way\" value=\"$way\">\n"; チェックボックスでの分岐、value属性のある場合はどうなるのでしょうか?

    • ベストアンサー
    • CGI
  • チェックボックスについて(ruby)

    cgiのプログラムでチェックボックスについてわからないことがあります。 今書いてある、プログラムだとすべての値を受け取ってしまいます。 選択されたものだけ表示させるようにさせたいと思っています。そのプログラムfor文で書いているのですが、どのように書いたらよいのでしょうか? 教えてください、お願いします! <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>プロフィール入力ページ</title> </head> <body> プロフィールを入力してください。<br> <form method="GET" action="http://profile2.cgi"> 名前: <input type="text" name="name"> <br> <br> 性別: <input type="radio" name="sex" value="男性">男 <input type="radio" name="sex" value="女性">女 <input type="radio" name="sex" value="その他">その他 <br> <br> 趣味: <input type="checkbox" name="hobby" value="映画">映画 <input type="checkbox" name="hobby" value="音楽">音楽 <input type="checkbox" name="hobby" value="スポーツ">スポーツ <input type="checkbox" name="hobby" value="料理">料理 <input type="checkbox" name="hobby" value="その他">その他 <br> <br> <br> <input type="submit" value="送信"> </form> </body> </html> #!/usr/local/bin/ruby print "Content-type: text/html; charset=euc-jp\n\n" $KCODE = "e" require "cgi" cgi = CGI.new namae = cgi["name"] sei = cgi["sex"] syumi = cgi.params["hobby"] ary = ["映画, ", "音楽, ", "スポーツ, ", "料理, ", "その他 "] str = ary[0] + " " + ary[1] + " " + ary[2] + " " + ary[3] + " " + ary[4] + " " syumi = "" for x in str syumi = syumi + x end print <<EOS <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>プロフィールの確認</title> </head> <body> 名前: #{namae} <br> <br> 性別: #{sei} <br> <br> 趣味: #{syumi} </body> </html> EOS 動作環境はruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]になります。

    • ベストアンサー
    • CGI
  • チェックボックスの無効化、有効化

    あるサイトを参考にチェックボックスの無効化、有効化を実装したいと考えています。 ソースは以下の通りなのですが、この場合、name属性にそれぞれ異なる番号(t1、t2、t3やc1、c2、c3)が振られている必要がありますが、 これを同じnameに統一して動作させるには、どのように記述したらよいのか教えて頂けませんでしょうか? nameのtとcを統一したいのではなく、t1、t2、t3を番号抜きのtに統一、c1、c2、c3を番号抜きのcに統一したいと思っています。 <script type="text/javascript"> function fchk2(obj, name) { var frm=obj.form; if(obj.checked==true) { /* チェックボックスが選択されている場合は、 テキストボックスを有効化(false) */ for(var i=1; i<=3; i++){ frm.elements[name+i].disabled=false; } } else { for(var i=1; i<=3; i++){ /* 無効化する前に、入力値をクリア */ if(name=='t'){ /* テキストボックスの場合 */ frm.elements[name+i].value=""; }else{ /* チェックボックスの場合 */ frm.elements[name+i].checked=false; } /* 無効化(true) */ frm.elements[name+i].disabled=true; } } } </script> <form name="form2" action="#"> <label for="chk1"><input type="checkbox" id="chk1" name="chk1" value="1" onclick="fchk2(this,'t')" checked="checked" />テキストボックスの無効化・有効化を切替(チェックを外すと無効化)</label><br /> <input type="text" name="t1" value="テキストA" size="20" /> <input type="text" name="t2" value="テキストB" size="20" /> <input type="text" name="t3" value="テキストC" size="20" /> <hr /> <label for="chk2"><input type="checkbox" id="chk2" name="chk2" value="1" onclick="fchk2(this,'c')" checked="checked" />チェックボックスの無効化・有効化を切替(チェックを外すと無効化)</label><br /> <input type="checkbox" name="c1" value="1" />選択肢A<br /> <input type="checkbox" name="c2" value="1" />選択肢B<br /> <input type="checkbox" name="c3" value="1" />選択肢C </form>

  • PHPを勉強しながらメールフォームの作成をしています。

    PHPを勉強しながらメールフォームの作成をしています。 PHPは初心者です。 ご質問なのですが、メールフォームでinput type="hidden"で値の受け渡しをしたいと思っています。 SESSIONなどありますが、こちらはのちのち勉強していきます。 まずメールフォームから確認画面を表示する流れにしていきたいのですが、ここでご質問があります。 ソースは下記のとおりになります。 <!-- index.php --> <form action="comfirm.php" method="post"> <dl> <dt>名前</dt> <dd><input type="text" name="name" value="" /></dd> <dt>性別</dt> <dd> <input type="radio" name="sex" value="男" />男 <input type="radio" name="sex" value="女" />女 </dd> <dt>カテゴリ</dt> <dd> <select name="category"> <option value="サッカー">サッカー</option> <option value="野球">野球</option> <option value="バスケ">バスケ</option> <option value="バレー">バレー</option> </select> </dd> </dl> <input type="hidden" name="contact" value="form" /> <input type="submit" value="送信" /> </form> としており、 <!-- comfirm.php --> <?php $name = $_POST['name']; $sex = $_POST['sex']; $category = $_POST['category']; ?> <html> <body> <dl> <dt>名前</dt> <dd><?php echo $name; ?></dd> <dt>性別</dt> <dd><?php echo $sex; ?></dd> <dt>カテゴリ</dt> <dd><?php echo $category; ?></dd> </dl> </body> </html> となっております。 ここでconfirm.phpに渡る際ににエラー表示をしたいのですが、記述の仕方がどうもわかりません・・・ confirm.phpに渡るときに名前が記入されていなかったらindex.phpに名前が記入されていませんと表示させたいのですがどなたかご教授いただけませんでしょうか? 初心者のため、わからないことがあると思いますが、いろいろと教えていただけたら幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • チェックボックス(CGI)のズレをなくすにはどうすればよいでしょうか?

    現在メールフォームを勉強中です。チェックボックスの項目を1つだけ設定していますが、チェックを外せば下の項目が上に一段ズレて送信されてきます。 チェックが外されていてもその項目だけ“空白”もしくは“チェックなし”とかに出来ますでしょうか?お手数ですが、ご教授ください。 【html側】 <form method="POST" action="mail.cgi"> <input type="text" name="01"> <input name="checkbox" type="checkbox" value="on"> <input type="text" name="02"> <input type="text" name="03"> <input type="submit" value="確認画面"> </form> 【cgi側】 $form0 = "01"; $form1 = "チェック"; $form2 = "02"; $form2 = "03"; if($form0 eq ""){ $form_input0 = ""; } else { $form_input0 = "<p class=\"text\">$form0 = $VALUE_DATE[0]</p>";} if($form1 eq ""){ $form_input1 = ""; } else { $form_input1 = "<p class=\"text\">$form1 = $VALUE_DATE[1]</p>";} if($form2 eq ""){ $form_input2 = ""; } else { $form_input2 = "<p class=\"text\">$form2 = $VALUE_DATE[2]</p>";} if($form3 eq ""){ $form_input3 = ""; } else { $form_input3 = "<p class=\"text\">$form3 = $VALUE_DATE[3]</p>";} <FORM method="post" action="mail.cgi"> <INPUT type="hidden" name="$form0" value="$VALUE_DATE[0]"> <INPUT type="hidden" name="$form1" value="$VALUE_DATE[1]"> <INPUT type="hidden" name="$form2" value="$VALUE_DATE[2]"> <INPUT type="hidden" name="$form3" value="$VALUE_DATE[3]"> <INPUT type="submit" value="この内容で送信する"></FORM> $mbody .= "\n"; $mbody .= "フォームより以下の内容が送信されました。\n"; $mbody .= "\n"; $mbody .= "=============================================================\n"; $mbody .= "\n"; $mbody .= "・$form0:$VALUE_DATE[0]\n"; $mbody .= "\n"; $mbody .= "・$form1:$VALUE_DATE[1]\n"; $mbody .= "\n"; $mbody .= "・$form2:$VALUE_DATE[2]\n"; $mbody .= "\n"; $mbody .= "・$form3:$VALUE_DATE[3]\n"; $mbody .= "=============================================================\n"; $mbody .= "\n"; ソースは文字制限の関係で省略しています。解りにくいですが、宜しくお願いします。

    • 締切済み
    • CGI
  • チェックボックスから、データベース入力

    HTMLのチェックボックスから、データベースにデータ入力する仕組みを検討しております。 HTMLページでチェックされたものは、keywordカラムに入力されるようにしたいと考えております。 1) HTMLページ <? require('../include/init.inc'); $email = $_POST{'email'}; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> <FORM name="myFORM"> <INPUT type="checkbox" name="name[]" onclick="chg()" value="aaa">:aaa <INPUT type="checkbox" name="name[]" onclick="chg()" value="bbb">:bbb <INPUT type="checkbox" name="name[]" onclick="chg()" value="ccc">:ccc <INPUT type="checkbox" name="name[]" onclick="chg()" value="ddd">:ddd <INPUT type="checkbox" name="name[]" onclick="chg()" value="eee">:eee <INPUT type="checkbox" name="name[]" onclick="chg()" value="fff">:fff </body> </FORM> <form action="Test1.php" method="post"> <input type=submit value='選択'>  → ここで配列のデータを変数に入れる処置が必要? 2) Test1.php <? require('../include/init.inc'); $email = $_POST{'email'}; $name = $_POST{'name'}; var_dump($HTTP_POST_VARS); $sql = "BEGIN; update mailing_list_sentaku set keyword = '$name' where mailing_list_name = '$email'; COMMIT;"; pg_query("$sql"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> </head> <body> ・データベース  - postgresql 8.1.9  - PHP 5.2.1 postgres=# \d mailing_list_sentaku  ・mailing_list_name : character varying(40)  ・keyword : character varying(200) 現状は、Test1.phpにもデータが渡っておらず、原因がつかめていない状況です。ご協力よろしくお願いいたします。

  • 全ページ form textにvalue=""を入れるのを忘れた

    お世話になります。 大バカなことをしてしまいました。助けてください。 全ページにわたり、フォームがあるのですが、 全ページにわたって、 <form method="post" action="sample.php" name="test"> <dl> <dt><input class="mailBox" type="text" size="20" name="data[email]"/></dt> <dd><input class="submitBtn" type="submit" value="送信"/></dd> </dl> </form> と、書いてしまいました。そうです、dtの入れ子になっているinput textに value=""を入れるのを忘れてしまいました。 そこでJqueryを使って、valueがない場合、value=""追加して書こうと思っていて以下のように書きましたがうまくいきません。どうすればよいか、教えてください! $(function(){ if(!$('form :text[value=""]')){ $("this").html('form :text[value=""]'); } });

  • チェックボックスが選択されたらファイルを読み込む

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> function getChecked(name) { var AllVals = $('input[name="' + name + '"]:checked').map(function() { return this.value; }); AllVals = $.makeArray(AllVals).join('|'); return AllVals; } function getContents(){ var colorId = getChecked('color_id'); var categoryId = getChecked('category_id'); var serviceId = getChecked('service_id'); var http = $.get ( "http://localhost/eigazuki/results/title:/time:0~300/country_id:" + categoryId + "/genre_id:" + serviceId, null, function ( data ) { $("#serviceListSection").html(data); } ) }; $(function(){ $('input[name]:checkbox').change(function(){getContents();}); }); </script> </head> <body> <input type="checkbox" name="color_id" value="1" />赤 <input type="checkbox" name="color_id" value="2" />黒 <br> <input type="checkbox" name="category_id" value="1">男物 <input type="checkbox" name="category_id" value="2">女物 <br> <input type="checkbox" name="service_id" value="1">季節 <input type="checkbox" name="service_id" value="2">お祝い </body> </html> <section id="serviceListSection"></section> というコードを書き、チェックボックスがチェックされるたびに、 http://localhost/eigazuki/results/title:/time:0~300/country_id:" + categoryId + "/genre_id:" + serviceId の外部ファイルを読み込みたいのですが、全く上手くいきませんなにがダメなのでしょうか? よろしくお願いします!

  • チェックボックスのチェックについて

    submit時に一つでもチェックがなければアラートを表示 チェックがあれば進む・・・としたいです。 <form action=next.html name=form1> <input type=checkbox name=checkbox1 value=1> <input type=checkbox name=checkbox2 value=2> <input type=checkbox name=checkbox3 value=3> <input type=checkbox name=checkbox4 value=4> <input type=checkbox name=checkbox5 value=5> ~以下50まで続きます <input type=submit value=submit> </form> function countChecked(form1) { var total = 0; var max = 50; for (var index = 0; index < form1.checkbox.length; index++) { total += form1.checkbox[index].checked ? 1 : 0; } if(countChecked(document.form1)) > 0) { return true; } else { alert("no"); return false; } return(total); } 過去に似たような質問を参考に作ってみましたがダメでした。 チェックボックスの名前の付け方が悪いのでしょうか。

専門家に質問してみよう