フォームhtmlで項目をセット

このQ&Aのポイント
  • フォーム htmlで項目をセット
  • フォームのページがあります。http://hogehoge.com/form.html
  • http://hogehoge.com/form.html?name=xxx でアクセスすると、nameの項目に xxxが入力されて表示できるようにアクセスする事は可能なのでしょうか?
回答を見る
  • ベストアンサー

フォーム htmlで項目をセット

下記フォームのページがあります。 http://hogehoge.com/form.html <form action="#" method="post"> <table border="1"> <tr> <td>名前</td> <td><input type="text" name="name"></td> <td colspan="2" align="center"> <input type="submit" value="入力"> </td> </tr> </table> </form> </body> </html> このフォームに http://hogehoge.com/form.html?name=xxx でアクセスすると、 nameの項目に xxxが入力されて表示できるようにアクセスする事は可能なのでしょうか? 恐れ入りますが、ご教授お願い致します。

  • HTML
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

フォームを動的に作成するとして・・ 具体的方法は、あとで  URLの?に続く文字列--#があれば、その前まではQUERY_STRINGと呼ばれるものです。この文字列はサーバーが受け取ったときにQUERY_STRINGという環境変数に取り込まれて処理されます。  たとえば、googleの検索結果を示すときに query_string - Google 検索 ( https://www.google.co.jp/search?q=QUERY_STRINGS&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a#hl=ja&client=firefox-a&hs=q6x&rls=org.mozilla:ja:official&sa=X&ei=J0eET-y8OO7zmAXYs_DgBw&ved=0CBwQBSgA&q=QUERY_STRING&spell=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=26b0aea1e5c4f16a&biw=1016&bih=607 )  ですね。 具体的な方法ですが、 1) form.html をCGIとして動作させる。  .htaccessにて、 AddType application/x-httpd-cgi form.html;  と記述して、CGI自体は  QUERY_STRINGを解析して、用意したHTMLに書き加える。HTMLは、__END__の後に書いておけば良い 2) form.htmlをPATH_INFOとして与えてCGIを動作させる。  .htaccessにて、  DirectoryIndex index.cgi  とでもして動作させ、index.cgiにて、form.htmlをPATH_INFOとして受け取り、上記と同様にQUERY_STRINGを解析させる。  いずれの方法も、送信後に入力チェックをしたり、次の入力項目を変化させるなどが可能なため、一般的によく使われる方法です。

その他の回答 (1)

回答No.1

下記例のような形で入力可能です。 簡単に言うとJavaScript でURL中のパラメータを取得し、それをテキストボックスのvalueに指定します。 なお、URLのパラメータ部分(?以降)は location.search で取得できます。 ちなみに下記例ではnameに日本語が指定された場合やパラメータを複数指定した場合などの 動きが定義されていないので、ちゃんと使おうと思うともう少し手直しが必要そうです。 まずは手を付け始める際のサンプルとしてご覧いただければと。 <html> <head> <title>test</title> <script type="text/javascript"> <!-- function autoinput() { var parameter = location.search; var name = ""; if( parameter.match(/\?name=(.*)/) ) { name = RegExp.$1; document.testform.name.value = name; } } // --> </script> </head> <body onload="autoinput();"> TEST FORM <form action="#" method="post" name="testform"> <table border="1"> <tr> <td>名前</td> <td><input type="text" name="name"></td> <td colspan="2" align="center"> <input type="submit" value="入力"> </td> </tr> </table> </form> </body> </html>

harrygogo
質問者

お礼

ありがとうございます。参考になります。これから勉強していきます!

関連するQ&A

  • メールフォームについて

    この中にどのようなHTMLを書けば自分のPCにメールが届く ようになりますか?よろしくお願いします。 <h2>■MAIL FORM</h2> <div class="text"> <form><table><tr><td width="100" align=right> NAME</td><td align=right><input type="text" name="Name" size="34"></td></tr><tr><td width="100" align=right> MAIL</td><td align=right><input type="text" name="Mail" size="34"></td></tr></table> <TEXTAREA NAME="Comments" ROWS="8" COLS="39" value="comments"></TEXTAREA> <br> <table><tr><td width="100" align=right> </td> </tr><tr> <td width="100" align=right> URL</td><td><input type="text" name="URL" value="http://" size="34"></td></tr><tr><td></td><td align="right"> <INPUT TYPE="reset" VALUE=" Reset "> <INPUT TYPE="submit" VALUE=" Send "></FORM> </td></tr></table><br></div>

    • ベストアンサー
    • HTML
  • テーブルの中にメールフォームを設置するには・・・

    現在、ホームページビルダー2001を使用していて、 テーブルの中にメールフォームをつけようとしているのですが、 フォームのタグは何処にいれたらいいのかわからなくて困っています。 プロバイダーはOCNでそちらのサポートページを見たら <FORM METHOD="post" ACTION="/cgi-bin/formmail.pl"> <INPUT TYPE="hidden" NAME="recipient" VALUE="???@???.ocn.ne.jp"> を1、2行目にいれるとあったのですが・・・ テーブルのタグは </table> <br> <CENTER> <table align="center" border=0> <tr> <td bgcolor="steelblue"> <table align="center" cellspacing=0 cellpadding=2 border=0> <tr> <TD bgcolor="aliceblue" align="center"><br> <table align="center"> <tr> <td>名前(ハンドル名可)</td> <td><input type="text">(全角)</td> </tr> </table> <br> <table align="center"> <tr> <td><input type="button" value="送信する"></td> </tr> </table> </TD> </tr> </table> </td> </tr> </table> </CENTER> <br> </BODY> </HTML> です(途中項目省略してます)が、これの何処に入れればいいのでしょうか。 また、試しにアップして、フォームに入力しようとしたら、英数半角しか 入力できないようになっていました(汗) これも、ダグに問題があるのでしょうか。

    • ベストアンサー
    • HTML
  • &ReadParseでフォームの値が取れない

    require "./cgi-lib.pl"; ・ print << "END"; <FORM method="POST" action="$self"> <TABLE border="0" cellspacing="6" width="600"> <TR> <TD valign="top" width="116">■メッセージ(※)</TD> <TD colspan="3" width="371"><TEXTAREA rows="10" cols="50" wrap="soft" name="message">$message</TEXTAREA></TD></TR> <TR> <TD valign="top" align="right" colspan="2"><INPUT TYPE="file" NAME = "file" size ="50"></TD> </TR> </TABLE> <INPUT TYPE=HIDDEN NAME=mycmd VALUE=do_write> <INPUT TYPE=HIDDEN NAME=time VALUE="$time"> <INPUT type="submit" value=" 送 る "> <INPUT type="reset" value="やり直す"> </FORM>・ ・ ・ ・ sub do_write { &ReadParse; $message = $in{'message'}; これでmessageの値が取れるはずなのですが、空のようです。同じプログラムで使えてたときもあったのですが、いじっているうちにReadParseが機能しなくなりました。といっても、cgi-libの中をいじったわけではありません。 確実にmessageフォームの中身を取る方法があったら 教えてください。 あるいは原因を探る方法でも結構です。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • テキストから要素を抜き出してフォームで送信したい。

    <body> <form action="xxx.cgi" method="post"> <input type="hidden" name="n" value="v"> <table> <tr id="hoge_a"> <td>AAA</td> </tr> <tr id="hoge_b"> <td>BBB</td> </tr> </table> <input type="submit" name="submit"> </form> </body> というHTMLの中で、AAAを抜き出してフォームと一緒にpostでサブミットしたいのですが、javascriptで出来ますでしょうか。 よろしくおねがいします。

  • FormのSubmitボタン

    こんにちは。 <table align="center"> <form action="getdata.html" method="post"> <tr> <th>Customer Name :</th> <td><input type="text" name="CustNameEdit" value=""></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="SearchButton" value="Search"> <input type="submit" name="SearchButton" value="Show All"> </td> </tr> </form> </table> このようなフォームで、CustNameEditに文字列を入力し、Searchボタンをクリック すると、getdata.htmlでSearchButtonの値は"Search"になっているのですが、 文字列入力後、キーボードのEnterキーを押すと、getdata.htmlへは行くのですが、 SearchButton変数が存在しないと言われてしまいます。 で、この現象ですが、Internet Explorer(試したのはバージョン6.0と7.0)で 発生しますが、Operaで試してみたところ、問題ありません。 何か原因として考えられることはありますでしょうか。

    • ベストアンサー
    • HTML
  • メールフォームについて質問です。

    メールフォームについて質問です。 <h3>ご注文ご依頼メール</h3> <span style="font-weight: bold;"></span> <center> <form style="margin-left: 0px; width: 800px;" method="post" action="当方アドレス" enctype="text/plain" name="メールフォーム"><br /> <table style="width: 694px; height: 202px;"> <tbody> <tr> <td style="text-align: center;"><b>お名前</b></td> <td style="width: 599px; text-align: left;"><input size="40" name="name" type="text" /></td> </tr> <tr> <td style="text-align: center;"><b>郵便番号</b></td> <td style="text-align: left;"><input size="20" name="郵便番号" /></td> </tr> <tr> <td style="text-align: center;"><b>ご住所</b></td> <td style="width: 599px; text-align: left;"><input size="80" name="jyusho" type="text" /></td> </tr> <tr> <td style="text-align: center;"><b>お電話番号</b></td> <td style="text-align: left;"><input size="40" name="電話番号" type="text" />  <font color="#ff0000">(記入例)000-0000-0000</font></td> </tr> <tr> </tbody> </table> <br /> ご希望の商品名・数量などをお書き込みください。<br /> <table> <tbody> <tr> <td colspan="2" align="center"><b><font color="#ff00ff">ご記入内容に問題がなければ、送信するのボタンをクリックして下さい。</font></b></td> </tr> <tr> <td style="text-align: center;" colspan="2"> <input value="送信する" type="submit" />   <input value="取り消す" type="reset" /></td> というメールフォームを作ったのですが、送信ができません。 どこが間違っているのでしょうか? 全くの素人なのでどこが違うのか見当もつきません。 それから、送信後に送信確認ページを表示させたいのですが、どうしたらよろしいでしょうか?

  • メールフォームで必須項目の仕方

    メールフォームで必須項目を入力しないと送信できないようにするにはどうすればいいでしょうか? 現在は以下のとおりに書いてありますが、必須項目に書いてなくても送信できてしまいます。 <form method="post" action="CGI"> <h3>お問い合わせフォーム</h3> <p>*は必須項目です。</p> <table> <tbody> <tr> <th>お問い合わせ内容*</th> <td><textarea name="お問い合わせ内容" class="l" cols="40" rows="12"></textarea></td> </tr> <tr> <th>お名前(漢字)*</th> <td><input type="text" name="お名前(漢字)" class="m"></td> </tr> <tr> <th>お名前(フリガナ)*</th> <td><input type="text" name="お名前(フリガナ)" class="m"></td> </tr> <tr> <th>E-Mail*</th> <td><input type="text" name="E-mail" class="l"></td> </tr> <tr> <th>電話番号(半角)*</th> <td><input type="text" name="電話番号" class="l"></td> </tr> </tbody> </table> <input type="submit" value="  送信  " class="button"></form> また必須項目が未入力のときにエラーメッセージ(「お名前が未入力です。」など)を出したいのですがどのようにすればいいですか?

    • ベストアンサー
    • CGI
  • [PHP初心者] フォームのエラーチェック

    PHPやデータベースに全く疎い者です。 皆様にご指導頂きたく投稿致します。質問内容もレベルが低いですがどうが宜しくお願いします。 メールフォームにてフォームのボタンを押下し、 エラーチェックをして、エラー項目を同一画面上の上の辺りに表示させたいのですが、、参考書を読んだり、過去スレを拝見しても、どうもわかりません。 <body> //↓この辺をどう書けばいいのか、さっぱりなんです。 <?php if(isset($_POST['mailform'])) { if($_POST['name'] == "") { echo("名前を入力して下さい。<br>"); }} ?> //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ <form method="POST" action="kakunin.php"> <table border="0" cellpadding="5"> <tr> <td colspan="2"></td> </tr> <tr> <td>名前</td> <td><input type="text" name="name" size="20"></td> </tr> <tr> <td>メールアドレス</td> <td><input name="mail" type="text" id="mail" size="20"></td> </tr> <tr> <td>項目</td> <td>     <input type="checkbox" name="check[]" value="PHP">PHP <input type="checkbox" name="check[]" value="Perl">Perl <input type="checkbox" name="check[]" value="ASP">ASP <input type="checkbox" name="check[]" value="JSP">JSP</td> </tr> <tr> <td>お問い合わせ内容</td> <td><textarea rows="5" name="naiyou" cols="40"></textarea></td> </tr> <tr> <td colspan="2"><input name="mailform" type="submit" id="mailform" value="::入力内容を確認::">  <input type="reset" name="Submit" value="リセット"></td> </tr> </table> </form> </body>

    • 締切済み
    • PHP
  • 2つのフォームに値を入れて計算

    2つのフォームを作り、その2つを計算したいのですがオブジェクトの指定の仕方がエラーが出てしまい(オブジェクトを指定してくださいと出ます)わかりません。 どうか教えてください。 ちなみにforなどは使わなくても大丈夫ですのでよろしくお願いします。 function kei() { var kei1 = 0; kei1=eval(document.A.a11.value) * eval(document.B.b21.value) ; document.C.c11.value = kei1; } <table border = 1> <form name="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 name="B"> <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> </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> </tr> </form> </table> <table border = 1> <form name="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> </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> </tr> </form> </table>

  • フォームを必須項目にしたい

    *印を必須項目にしたいです。 どうすればいいですか? <form action="mailto:***@***.co.jp" method="POST" enctype="text/plain" name="signup" onSubmit="return validateForm(this,arrFormValidation);"> <table cellspacing="2" cellpadding="2" border="0" class="body" width="601"> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1" title="全角"><font color="#A4003A">*<font color="#320012">名字 :</font></font></td> <td valign="top" width="463"><input type="text" name="名字" size="20"></td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1" title="任意に入力してください。"><font color="#320012"> 電話番号 :</font></td> <td valign="top" width="463"><input type="text" name="電話番号" size="20"></td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1"><font color="#A4003A">*<font color="#320012"></font></font><font color="#320012">アンケート</font></td> <td valign="top" width="463"> 項目1  <input type="radio" value="1" name="項目1">1  <input type="radio" value="2" name="項目1">2<br> 項目2  <input type="radio" value="1" name="項目2">1  <input type="radio" value="2" name="項目2">2 </td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1"><font color="#320012"> 送信 :</font></td> <td width="463"> <input type="submit" name="B1" value="送信" style="background:#5C5868;color:#E4FF00;" title="送信を開始する祢。"></td> </tr> </table> </form>

専門家に質問してみよう