- ベストアンサー
フォームへの自動入力
php?c=254&email=mail@mail.com というようなURLからアクセスをしたら メールフォームにmail@mail.comが、既に入っている 状態にしたいのです。 これはJavaScriptで実現可能でしょうか?
- みんなの回答 (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)
php?c=254&email=mail@mail.com っていうのはそもそもURLでは無いわけですが? サーバーに渡されたemailをサーバ側で取得して、フォームに適宜valueで設定すればいいと思うのですが。