- ベストアンサー
フォームに値を自動入力する方法
- 商品名や商品コードを自動入力するメールフォームの作成方法を教えてください。
- GET送信やクエリーを使用して、商品コードが自動入力された状態でメールフォームを開く方法を知りたいです。
- メールフォームのテキストボックスに商品コードを自動的に入力する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
HTMLのみで実現したい場合はJavaScriptを使う必要があると思います。 サンプルを作ってみました。 <html> <head> <script> function setValue() { var value = location.href.split("#", 2)[1]; if (value) { document.form.code.value = value; } } </script> </head> <body onload="setValue();"> <form name="form"> <input type="text" name="code"> <input type="submit"> </form> </body> </html> このサンプルでは"mailform.html#A123"のような感じで呼ぶと、テキストボックスにシャープの後の文字列を入れてくれます。 それからNO1で答えた事柄にも当てはまりますが、何らかの入力をそのまま表示すると、クロスサイトスクリプティング等の脆弱性になる可能性がありますのでお気をつけ下さい。 そういう意味ではNO1での回答は不適切で、実際は <input type="text" name="code" value="<?= htmlentities($_REQUEST['code'], ENT_QUOTES) ?>"> 等とする必要があります。
その他の回答 (1)
- matchasoft
- ベストアンサー率54% (20/37)
PHPで作られているのならメールフォームをPHPにしてしまえば可能です。 例えば商品コード「A123」のページへの問い合わせリンクを mailform.php?code=A123 とし、mailform.phpを下のようなスクリプトにします。 <input type="text" name="code" value="<?= $_REQUEST['code'] ?>">
お礼
早速の回答ありがとうございました。 メール送信するためのスクリプトはPHPなのですが フォーム自体はHTMLで作成しています。 PHPの知識がないので、フォームをPHPにするにはどうしたらいいのかわかりませんが、何とか調べてやってみます。 ありがとうありがとうございます。
お礼
重ね重ねご丁寧なご返答ありがとうございます。 早速作っていただいたサンプルをHTMLに追記して試してみました。 望んでいたとおりに動作してくれたので感激デス♪ 一週間も悩んでいたのに、数時間で解決するとは…。 matchasoft様、本当にありがとうございましたっ!!