• ベストアンサー
  • 困ってます

cookie使用時にundefinedと表示される

お申し込み用のformを作成していてformの各inputやtextareaへcookieを使用したいと考えています。 添付しました画像ファイルがcookieスクリプトです。 formの仕様でnameではなくidでcookieを記憶する方法を選んだのですが 初期入力画面で入力前に下記の様な文字(※)が自動で入力されます。 ※「undefined」 formのinputは以下の様にしています。 >> <input type="text" size="25" name="お名前" id="name" /> >> <input type="text" size="20" name="フリガナ" id="furi" /> どうすれば、「undefined」が入力されたままではなく空白にできるか解決できず 途方に暮れています。 どうかお知恵をお借りできませんでしょうか。 ご教授、宜しくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数1239
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.2
  • l27074
  • ベストアンサー率100% (5/5)

下記のようにするか function getCookie() {  if (document.cookie) { //←追加  …  } //←追加 } 下記のようにしてみるとどうでしょうか if (document.form.elements[i].id == elements[i]) {  if (cookie3[i]) { //←追加  …  } //←追加 }

共感・感謝の気持ちを伝えよう!

質問者からのお礼

1番目の方法で「undefined」が表示されなくなりました。 まだまだ未熟なのでこれからも頑張っていこうと思います。 お礼と締め切りが遅くなりまして申し訳御座いませんでした。 又、困ったときはご教授お願いいたします。

その他の回答 (1)

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

画像が読み取れないので、想像だけの回答ですが… スクリプトで最初(HTMLロード時)にcookieを読みに行って、そこに記入されているデータをform内に表示する仕様になっているのだと思います。 ただ、一番最初の閲覧時(cookieが未登録の時データがない)でも同じ処理をしてしまっているので、データが無い(=undefined)を記入しているのではないかと想像されます。 それなので、該当するcookieが無ければ処理を全体パスするようにするか、formに表示する際に「undefined」ならば何もしないというような分岐を追加してあげればよろしいのではないかと思われます。 (想像なので、はずれているかも知れません)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

fujillinさまのおっしゃる通りの流れになります。 画像でスクリプト投稿をすると読みづらくなるのですね・・・ 以後気をつけたいと思います。 お礼と締め切りが遅くなりまして申し訳御座いませんでした。 又、困ったときはご教授お願いいたします。

関連するQ&A

  • phpで作成した携帯サイトのメールフォームがPCからは正常に送信されるのに、携帯から送信すると届きません。

    ソースindex <form action="kakunin.php" method="POST" > お名前 <input name="name" id="name" type="text"> フリガナ<input name="furi" id="furi" type="text"> ご住所<input name="add" id="add" type="text"> TEL<input name="tel" id="tel" type="text"> FAX<input type="text" name="fax"> E-MAIL <input name="mail" id="mail" size="30" type="text"> お勤め先名 <input name="k_name" id="k_name" type="text"> 勤続年数<input type="text" name="nensu"> 年収<input type="text" name="nenshu"> ご要望、ご質問等<textarea rows="5" cols="10" name="yobo"></textarea> <input type="submit" value="送信する"> </form> ---------------確認画面----------------------- <?php $name =$_POST[name]; $furi =$_POST[furi]; $add =$_POST[add]; $tel =$_POST[tel]; $fax =$_POST[fax]; $mail =$_POST[mail]; $k_name =$_POST[k_name]; $nensu =$_POST[nensu]; $nenshu =$_POST[nenshu]; $yobo =$_POST[yobo]; if($name == ""){ $err_massage .= "お名前を入力してください。"; } if($furi == ""){ $err_massage .= "フリガナを入力してください。"; } if($tel == ""){ $err_massage .= "TELを入力してください。"; } if($mail == ""){ $err_massage .= "E-MAILを入力してください。<br />"; }else{ if(ereg("([0-9a-zA-Z._-]{1,})@([0-9a-zA-Z.-_]{1,})",$mail)){ }else{ $err_massage .= "E-MAILを正しく入力してください。"; } } if($err_massage != ""){ print <<<ERR $err_massage <a href="index.html">戻る</a> ERR; }else{ print <<<FORM <form action="sosin.php" method="post"> お名前 $name フリガナ $furi ご住所 $add TEL(携帯可) $tel FAX $fax E-MAIL $mail お勤め先名 $k_name 勤続年数 $nensu 年収 $nenshu ご要望、ご質問等 $yobo <input name="name" value="$name" type="hidden"> <input name="furi" value="$furi" type="hidden"> <input name="add" value="$add" type="hidden"> <input name="tel" value="$tel" type="hidden"> <input name="fax" value="$fax" type="hidden"> <input name="mail" value="$mail" type="hidden"> <input name="k_name" value="$k_name" type="hidden"> <input name="nensu" value="$nensu" type="hidden"> <input name="nenshu" value="$nenshu" type="hidden"> <input name="yobo" value="$yobo" type="hidden"> <input type="submit" value="送信する"> </form> FORM; } ?> -送信画面- <?php $name =$_POST[name]; $furi =$_POST[furi]; $add =$_POST[add]; $tel =$_POST[tel]; $fax =$_POST[fax]; $mail =$_POST[mail]; $k_name =$_POST[k_name]; $nensu =$_POST[nensu]; $nenshu =$_POST[nenshu]; $yobo =$_POST[yobo]; mb_language("Ja") ; mb_internal_encoding("shift-JIS") ; $from_mail = '送信メールアドレス'; $msg = "【タイトル】 "."お名前:"."$name"." フリガナ:"."$furi"." 住所:"."$add"." TEL:"."$tel"." FAX:"."$fax"." E-MAIL:"."$mail"." お勤め先名:"."$k_name"." 種類:"."$shurui"." 勤続年数:"."$nensu"." 年収:"."$nenshu"." お問合せ内容:"."$naiyo_out"." ご要望・ご質問等他:"."$yobo"; $sb = "【タイトル】"; $rcd = mb_send_mail($from_mail, $sb, $msg, "From:$mail"); ?>

    • 締切済み
    • PHP
  • PHPでのCookie

    PHPでクッキーを使い、下記のような入力フォームを作りました。 form.phpで入力→form2.phpで正常出力出来るのですが、 form2.phpで一度更新しないと、結果が画面に表示されません。 これをform2.phpを開いた時点で表示されるようにするには、どのように書けばいいのでしょう。 後1つあります。form.phpで 「テスト&1」と書くと「テスト」としか表示されなく、&とそれ以降が記憶されません。 これはなぜでしょうか? お願いします。 【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 if ($_POST) { $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
  • チェックボックスが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>

  • name属性をperlに引き継ぎたい

    FORMタグを使って以下のようにCGIに処理を引き継ぎます。 <FORM METHOD="post" ACTION="./xxxx.cgi"> <INPUT name="フリガナ" size="30" type="text"> その場合、入力された値ではなく、name="フリガナ"の 「フリガナ」をperlで受け取りたいのですが、方法がわかりません。 ご存知の方ご教示の程よろしくお願いします。

  • フォームに入力後、別のフォームに値を表示

    すみません。教えて頂けないでしょうか?(初心者です) <input type="text" name="a" id="aaa" size=20>  ↓ <input type="text" name="b" id="bbb" size=20>  ↓ <input type="text" name="c" id="ccc" size=20>  ↓ このような感じで作成し、aとbのフォームに値が何か 入力されたら自動的に、例えばaとbの値を足してcのフォームに その結果を表示する様にしたいのですが、記述の仕方が なかなか見つけられません。

    • 締切済み
    • PHP
  • Cookieについて教えてください!!

    依頼を受付できるHPフォームをASPにて作成しておりますが、、 1回入力した情報を次回より入力の省略が出来る、Cookieを活用したいのですが、I/Eを閉じればその情報自体破棄されるようです。 閉じても情報が破棄しないようにするにはどうしたらよいのでしょうか。 私が入力しているものは、、、 <INPUT size="35" type="text" maxlength="35" name="name" value="<%= Request.Cookies("ASP")("name") %>">こういった感じです。 次のページには確認画面で、下記のように作ってあります。 cooktmp1=Request.Form("name") Response.Cookies("ASP")("name") = cooktmp1

    • ベストアンサー
    • HTML
  • 再度読み込みは出来ないのでしょうか?

    各テキストボックスに値を入れて、 C11 = a11 * b11 + a12 * b21 + a13 * b31、 c12 = a11 * b12 + a12 * b22 + a13 * b32、 : : c21 = a21 * b11 + a22 * b21 + a23 * b31 c22 = a21 * b12 + a22 * b22 + a23 * b32・・・ としたいのですが、うまくロジックが思いつきません。 単純に式をずらずら書いたのですが、c12以降の欄がすべてゼロになってしまいます。 いい方法を教えてください。お願いします。 <head> <script> function kei(){ var form_a=document.getElementById('A'); var form_b=document.getElementById('B'); var form_c=document.getElementById('C'); var keic11 = 0; var keic12 = 0; : : keic11=parseInt(form_a.a11.value) * parseInt(form_b.b11.value) * parseInt(form_a.a12.value) * parseInt(form_b.b21.value) + parseInt(form_a.a13.value) * parseInt(form_b.b31.value); form_c.c11.value = keic11; keic12=parseInt(form_a.a11.value) * parseInt(form_b.b12.value) + parseInt(form_a.a12.value) * parseInt(form_b.b22.value) + parseInt(form_a.a13.value) * parseInt(form_b.b32.value); form_c.c12.value = keic12;     :     : } </script> </head> <body> <table border = 1> <form id = "A"> <tr> <td> <input type = "text" size = 5 name = "a11"></input> </td> <td> <input type = "text" size = 5 name = "a12"></input> </td> <td> <input type = "text" size = 5 name = "a13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a21"></input> </td> <td> <input type = "text" size = 5 name = "a22"></input> </td> <td> <input type = "text" size = 5 name = "a23"></input> </td> </tr> </form> </table> <table boeder = 1> <tr> <input type = "button" onClick="kei()" value = "×"></input> </tr> </table> <table border = 1> <form id = "B"> <tr> <td> <input type = "text" size = 5 name = "b11"></input> </td> <td> <input type = "text" size = 5 name = "b12"></input> </td> <td> <input type = "text" size = 5 name = "b13"></input> </td> <td> <input type = "text" size = 5 name = "b14"></input> </td> <td> <input type = "text" size = 5 name = "b15"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b21"></input> </td> <td> <input type = "text" size = 5 name = "b22"></input> </td> <td> <input type = "text" size = 5 name = "b23"></input> </td> <td> <input type = "text" size = 5 name = "b24"></input> </td> <td> <input type = "text" size = 5 name = "b25"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b31"></input> </td> <td> <input type = "text" size = 5 name = "b32"></input> </td> <td> <input type = "text" size = 5 name = "b33"></input> </td> <td> <input type = "text" size = 5 name = "b34"></input> </td> <td> <input type = "text" size = 5 name = "b35"></input> </td> </tr> </form> </table> 答え <table border = 1> <form id = "C"> <tr> <td> <input type = "text" size = 5 name = "c11"></input> </td> <td> <input type = "text" size = 5 name = "c12"></input> </td> <td> <input type = "text" size = 5 name = "c13"></input> </td> <td> <input type = "text" size = 5 name = "c14"></input> </td> <td> <input type = "text" size = 5 name = "c15"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c21"></input> </td> <td> <input type = "text" size = 5 name = "c22"></input> </td> <td> <input type = "text" size = 5 name = "c23"></input> </td> <td> <input type = "text" size = 5 name = "c24"></input> </td> <td> <input type = "text" size = 5 name = "c25"></input> </td> </tr> </form> </table> </body>

  • 数字の合計をチェック

    お世話になります。 サンプルスクリプト探してましたが見つからなかったのでヒントとか教えてもらえれば助かります。 やりたいことは、 合計数を入力→AとBにそれぞれ枚数を入力 そのとき合計数とAとBにそれぞれ枚数を入力した数の合計が 合っていれば"合ってます" 違っていれば"違っています" とアラートを出したいのですが。 ジャバスクリプト超初心者ですのでどうか宜しくお願いします ------------------------------ <HTML> <HEAD> <TITLE> 合計数のチェック </TITLE> </HEAD> <SCRIPT LANGUAGE="javascript"> </SCRIPT> <BODY> <form name="form"> <p>合計数 <input name="total" type="text" id="total" size="5"> 枚</p> <p>A <input name="kazu1" type="text" id="kazu1" size="5"> 枚</p> <p>B <input name="kazu2" type="text" id="kazu2" size="5"> 枚</p> <p> <input type="submit" name="button" id="button" value="チェック"> </p> </form> </BODY> </HTML> ------------------------------

  • CCを使わず複数の人にメールを出せる記述方法がありますか?

    フォームによるメール送信でccを使わず複数の人にメールを出せる記述方法がありますか? ちなみに、今こんな感じで記述しています。 <form name="FormName" action="mailto:***@**.ne.jp" method="post" enctype="text/plain"> 名前<input type="text" name="名前" size="24"> <p>住所<input type="text" name="住所" size="24"></p> <p>コメント<textarea name="コメント" cols="40" rows="4"></textarea></p> <p><input type="submit" name="submitButtonName"></p> </form> 分かるかた教えてください。

    • ベストアンサー
    • HTML
  • FORM ACTION~POST使用時について

    こんにちは。お世話になります。 cgiファイルから、FORM ACTION~POST⇒submitで自分自身を呼び出す時に、INPUT TYPE=\"text\"を11個間に入れると呼び出せません。 (10個の場合はうまくいきます) FORM ACTION~POSTは文字数制限がないと、本を見てもかいてあるのですが、なにか理由があるのでしょうか。 ご存知の方、ご教授願えたら幸いです。 よろしくお願いいたします。 抜粋したソースを下記に記します。 ------------------------------------------------------------- #障害対応情報項目テキストボックス print "<H5>【障害対応情報項目】</H5>\n"; print "<FORM ACTION=\"../cgi-bin/serch_e-001.cgi\" METHOD=\"POST\">\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-2\" VALUE=\"$$selectdata[0][7]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-3\" VALUE=\"$$selectdata[0][8]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-4\" VALUE=\"$$selectdata[0][9]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-5\" VALUE=\"$$selectdata[0][10]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-6\" VALUE=\"$$selectdata[0][11]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-7\" VALUE=\"$$selectdata[0][12]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-8\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-9\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-13\" VALUE=\"$$selectdata[0][18]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-14\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-15\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"新規検索\">\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"更新\">\n"; print "<INPUT TYPE=\"hidden\" NAME=\"no\" VALUE=\"$$selectdata[0][0]\">\n"; print "</FORM>\n"; ------------------------------------------------------------

    • ベストアンサー
    • Perl