• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォーム htmlで項目をセット)

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

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

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

  • ベストアンサー
  • 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