※ ChatGPTを利用し、要約された質問です(原文:document.locationで変数使用したい)
document.locationで変数使用したい
このQ&Aのポイント
document.locationを使用して変数の値を展開する方法についてアドバイスを求めています。
サンプルソースコードの問題はPHPとJavaScriptの連携ではなく、document.location内で変数を使用する際の書き方にあると考えています。
変数の値をdocument.locationに展開するためには、変数をシングルクォーテーションではなくダブルクォーテーションで囲む必要があります。
document.locationで変数使用したい
document.locationに変数の値を使用しようとしたのですが、どうすればできるかわからなかったので、アドバイスいただける方がいらっしゃいましたら、ご教示の程、よろしくお願いします。
なお、下記がサンプルソースとなりますが、js_urlにPHPで取得した値は入っております(alertで確認しました)。
その為、本件はPHPとJavaScriptの連携の問題ではなく、document.location内で変数を使用する際の書き方に問題があると思います(ブラウザ上で確認した所、「'document.location = "http://oshiete.goo.ne.jp/"'」と出力されていれば動作するのではと思いますが、「'document.location = js_url'」と出力されており、変数の中身が展開されていませんでした(シングルクォーテーションで囲まれている為、変数と認識していないと思われますが、どう記述変更すればよいか分かりませんでした))。
【ソースコード】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sample</title>
<?php
$php_url = "http://oshiete.goo.ne.jp/";
?>
<script type="text/javascript">
window.onload = function() {
// setTimeout('document.location = "http://oshiete.goo.ne.jp/"', 2000);
var js_url = "<?php echo $php_url; ?>";
alert(js_url);
setTimeout('document.location = js_url', 2000);
}
</script>
</head>
<body>
<p>Sample</p>
</body>
</html>
以上、よろしくお願いします。
お礼
ご回答ありがとうございます。 ご教示いただいたソースを試した所、意図した動作になりました。 このたびはどうもありがとうございました。 以上、よろしくお願いします。