• ベストアンサー

フォームへの自動入力

php?c=254&email=mail@mail.com というようなURLからアクセスをしたら メールフォームにmail@mail.comが、既に入っている 状態にしたいのです。 これはJavaScriptで実現可能でしょうか?

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

location.hrefから切り出してセットすれば可能です。 <A href="get.html?c=254&email=mail@email.com">リンク</A> のような呼出を受けた側で <script type="text/javascript"> <!-- function setMail(){ loc=location.href+"&"; //切り出し易くするために最後に&を付ける qPos=loc.indexOf("?"); //?の位置を調べる if(qPos == -1){ return; //?が無い時なにもしない } loc=loc.substr(qPos, loc.length - qPos); xPos=loc.indexOf("email="); if(xPos == -1){ return; //無い時なにもしない } xPos=xPos + ("email=").length; andPos=loc.indexOf("&",xPos); email=loc.substr(xPos, andPos-xPos); FORM1.email.value=email; } //--> </script> ------------------------------------------- get.html ----------- <body onload="setMail()"> <form name="FORM1" action="get2.html" method="get"> <label for="name">名前:</label><input type="text" name="name" id="name"><br> <label for="email">mail:</label><input type="text" name="email" id="email"><br> <input type="submit" value="送信"><input type="reset" value="クリア"> </form> の様にすればいいです。 最初?で切り出ししていますが、 いきなりemail=~&で切り出してもいいです。 phpのファイルの中に、うまくjavascriptが書けるかどうかは知りません。

その他の回答 (1)

  • coco1
  • ベストアンサー率25% (323/1260)
回答No.1

php?c=254&email=mail@mail.com っていうのはそもそもURLでは無いわけですが? サーバーに渡されたemailをサーバ側で取得して、フォームに適宜valueで設定すればいいと思うのですが。

関連するQ&A