- ベストアンサー
HTMLに値を設定する方法
- JavaScriptを使用して、PHPから取得した値をHTMLのinput要素のvalue属性に設定する方法について教えてください。
- ページをロードする際にボタンなどを介さずに、PHPから取得した値をJavaScriptのdocument.writeで書き込んだ値をHTMLのinput要素のデフォルト値として設定する方法について教えてください。
- HTMLのinput要素のvalue属性に、PHPから取得した値を設定する方法について教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
それからどうでもいいけど htmlのタグの順番が適当ですね。
その他の回答 (5)
- yyr446
- ベストアンサー率65% (870/1330)
おっと、"stick"をエスケープしないとだめですね。 echo "document.getElementById(\"stick\").value=350;";
- yyr446
- ベストアンサー率65% (870/1330)
phpは、 <?php $long = $_GET['long']; header("Content-type: application/x-javascript"); echo "window.onload = function () {"; if ($long == '1') {echo "document.getElementById("stick").value=350;";} elseif ($long == '2') {echo "document.getElementById("stick").value=300;";} elseif ($long == '3') {echo "document.getElementById("stick").value=300;";} echo "}"; ?> htmlの方(変更点を目立つように全角にしてます) <html> <head> <script type="text/javascript" src="./jsphptest.php?long=3" ></script> </head> <input type="text" value="0" id=”stick" name="stick" size="5" class="example3"> </body></form> </html> でどうでしょう、同期とってないので、読み込みのタイミングが微妙かも
- yyr446
- ベストアンサー率65% (870/1330)
あ、「<script type="text/javascript" src="./jsphptest.php?long=3" ></script>」 って書いているとこ見ると、もしかしてJSONPみたいな使い方したいのですか、 それならPHP側で出力するとき hoge=250;fuga(hoge) と出力してやれば、 function fuga(value){ var tag = document.getElementsByTagName("input"); tag[0].value=value; } ですみます。
補足
ご回答ありがとうございます。大変ご親切にいろいろ教えていただきありがとうございます。JSONPやJquery等初めてお聞きする事ばかりでググってみましたがどうも難しいく、ちょっと違うような感じです。 大変申し訳ありませんが超初心者ですので私にはご回答の意味や使い方が分かりませんので具体的にPHPから書いてみます。以下jsphptest.phpです。 <?php $long = $_GET['long']; header("Content-type: application/x-javascript"); if ($long == '1') {echo "document.write(\"350\")";} elseif ($long == '2') {echo "document.write(\"300\")";} elseif ($long == '3') {echo "document.write(\"250\")";} ?> # htmlは以下です。 <html> <head> <script type="text/javascript" src="./jsphptest.php?long=3" ></script> </head> <input type="text" value="0" name="stick" size="5" class="example3"> </body></form> </html> IEの表示は250 とinput typeに0と表示されていますが、この value="0" に250の値を入れるにはどのようにしたら良いのでしょうか?という質問です。どうかご面倒で大変お手数ですが具体的にはどのようにすればよいのか、ご教授のほどよろしくお願いいたします。
- yyr446
- ベストアンサー率65% (870/1330)
phpでhtmlを出力しているのですか? それともhtmlからphpにGETして、<input>のvalueにセットしたいのですか? 後者なら、httprequestとDOM関数でAJAXですが、 超初心者ならJquery使えば、超簡単に出来ます。 でも、これくらいなら勉強のためJquery使わずに、 素のコーディングを勉強した方が良いと思います。
- askaaska
- ベストアンサー率35% (1455/4149)
> できない の状態がわからないわ。 単に<を<と記述する(文字参照)を知らないだけ? それとも何かエラーが出ているとか?
補足
ご回答ありがとうございます。質問の仕方も分からない超初心者なので よろしくお願いいたします。 やりたいことは下記のようにvalueの値にPHPからの値を読み込みたいのです。「」の部分。<input type="text" value=「script type="text/javascript" src="./jsphptest.php?long=3」> たとえばPHPからの値が250だとしたらvalue="250"にしたいのですが、 HTML上で250と出ているのですが、input type="text" のvalueに読み込みたいと思っています。<を<と記述すればできるのでしょうか? できれば記述の具体的な超簡単なやり方をどうかご教授よろしくお願いいたします。
お礼
見事にできました。 何回もおつきあい、ご回答いただきありがとうございました。 お恥ずかしい話、今までググってサンプルを探してきて当てずっぽうでやっているのでタグの書き方の基本さえわかっておりません。しかしながらこうして教えていただいて動いた時にはほんとにうれしいです。おつきあい頂き本当に助かりました。自分で解読できるよう、勉強しなくてはいけないと思っております。本当にありがとうございました。また何かありましたよろしくお願いいたします。