dポイントプレゼントキャンペーン実施中!

いつもお世話になります。

URLに何か細工をして、フォームに事前に入力ができることができたらと思い、
調べているのですが、


下記サイト↓

http://support.google.com/docs/bin/answer.py?hl= …

に、URL パラメータを使ってフォームに事前に入力する方法が書かれているのですが、
Google ドキュメント専用なのか、うまく行きませんでした。


そもそも、無理なのかもしれないのですが、
もし、URLにパラメータを付け足して、
指定のフォームに事前に入力する方法がありましたら、
お教え頂けないでしょうか?

よろしくお願い致します。

A 回答 (3件)

javascriptを使う方法も一案ですが、javascriptを使えない--使わない設定にしていると当然無効です。


 もっとも一般的に使われている方法は、PATH_INFOやQUERY_STRINGS、標準入力(STDN)を使って動的にフォーム自体を出力する方法です。
 URLは、ドメイン名+ファイルへのパス+QUERY_STRINGSの組み合わせですから、それをCGIで解釈すれば簡単ですし、入力チェックなど様々に応用が利きます。サーバーがHTTPで要求を受けるとき、QUERY_STRINGS(?の後ろに続く文字列)を環境変数(QUERY_STRINGS)に格納し、ファイルを探し始めますが、そのファイルが無い場合はPATH_INFOに格納して、その上のディレクトリを探します。そこにも無ければ、さらにそれを探していきます。最終的にファイルが見つかり、かつそれが実行ファイルである場合、入手したQUERY_STRINGS,PATH_INFO,STDNを使用して実行しその結果を返します。---一般的なCGIの動作ですね。
 CGIの最後 __END__ の後に、フォームを置いておきます。書き換える必要があるところには、キーワードを入れておきます。

__END__
<!doctype html>
<head>
<meta charset="utf-8">
<title>フォーム</title>
・・・【中略】・・・
<form action="">
 <input type="text" name="name" value="__USER_NAME__">
・・・【中略】・・・

CGI
print q~content-type:text/html・・・【中略】・・・~;
 while<DATA>{
  s/__USER_NAME__/$userName/;

・・・【中略】・・・

 入力チェック、メールアドレスの整合性、エラー部分の表示や、そもそものリンク元の情報によってフォームの一部を書き換えるなど応用が利くと思います。どのようなデータを受け取ることができるかは・・
Enviroment Variable and FORM,COOKIE ( http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/peguu … )
とか
    • good
    • 0
この回答へのお礼

javascript以外にも方法があるんですね!

今の私にはCGIをすぐには使えないのですが、
今後使えるように、勉強していきます!

ありがとうございます!

お礼日時:2012/04/06 09:43

<html>


<head>
<script type="text/javascript">
<!--
var qsParm = new Array();
var query = window.location.search.substring(1);
var parms = query.split('&');
for (var i=0; i<parms.length; i++) {
var pos = parms[i].indexOf('=');
if (pos > 0) {
var key = parms[i].substring(0,pos);
var val = parms[i].substring(pos+1);
qsParm[key] = val;
}
}

function into(){
document.getElementById("target").value = qsParm["text"];
}
// -->
</script>
</head>
<body onload="into()">
<input type="text" id="target"/>
</body>
</html>


こんな感じでどうでしょう。index.htmlなら、index.html?text=hello_world のようにアクセスすると値がセットされます。
    • good
    • 0
この回答へのお礼

おお!

すごい!できました!

ありがとうございます!

お礼日時:2012/04/06 09:40

仕組みはそんなに難しくありません



フォームの画面にJavaScriptを埋め込み
そのJavaScriptで
・URLの解析を行う
・解析した結果をフォームに反映する
この2ステップだけで行えます。
    • good
    • 0
この回答へのお礼

なるほど!

そういう方法があるんですね!

ありがとうございます!

お礼日時:2012/04/05 16:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!