0

PHPコードにvar値を取得します。含まれているtest.jsファイルにアクセスしたい。

<?php
 session_start();
$var=$_SESSION['my_id'];  // I want to access $var into test.js included below
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="test.js"></script>
<!-- AddThis Smart Layers END -->
</head>
<input type="submit" onclick="func();">  Button </input> //This function call test.js
<body>

$var を test.js にアクセスするにはどうすればよいですか?

4

5 に答える 5

4

パラメータとして渡します。

<input type="submit" onclick="func('<?php echo $var; ?>');">

test.js で:

function func(param){
   console.log(param); // contents of $var
}

または、グローバルに設定します。

<script>
   var param = "<?php echo $var; ?>";
</script>
于 2013-10-22T10:50:13.940 に答える
2

このように使用できます-

<?php
 session_start();
 $var=$_SESSION['my_id']; 
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
  var my_id_j = '<?php echo $var; ?>';
</script>
<script type="text/javascript" src="test.js"></script>
<!-- AddThis Smart Layers END -->
</head>
<input type="submit" onclick="func();">  Button </input> //This function call test.js
<body>

ここでは、test.js を含める前に次の行を追加しました。

<script type="text/javascript">
  var my_id_j = '<?php echo $var; ?>';
</script>

この変数 my_id_j はグローバル変数であり、test.js でアクセスできます。

于 2013-10-22T10:51:57.847 に答える
2

このシナリオを処理するには、次の 2 つの方法があります。

通常のケース: 関数の引数として渡す

例:

 <?php $myvar = 'Hello'; ?>
   // other code
 <script type="text/javascript" src="yourfile.js"></script>

   // and when you are about to call the function:
 <input type="submit" onclick="func('<?php print $myvar; ?>');">

かなり特殊なケース: JS ファイルをロードし、特別な値を置き換えます。

過去に、上記のことができないケースがありました。現時点では簡単な例を思い出すことはできませんが、私が行ったことは次のとおりです。

 <?php
   $my_var = 'Hello';
   $my_script = file_get_contents('path/to/file.js');
   $my_script = str_replace('%SPECIAL_VALUE%', $my_var, $my_script);

   print '<script type="text/javascript">'.$my_script.'</script>';
 ?>

そして、次のようなことを行うことで、Javascript を単純化することができました。

 var myvar = '%SPECIAL_VALUE%';

 alert('%SPECIAL_VALUE%');
于 2013-10-22T10:56:33.097 に答える
1

最初に変数を JavaScript に渡す必要があります。

<script type="text/javascript">
    var variable = "<?=$_SESSION['my_id'];?>";
</script>
<script type="text/javascript" src="test.js"></script>

test.jsその後、 asvariableまたはのいずれかで使用できますwindow.variable

于 2013-10-22T10:50:23.660 に答える
1

あなたはこれを行うことができます:

<?php
session_start();
$var=$_SESSION['my_id'];  // I want to access $var into test.js included below
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript>
var myJsVar = "<?php echo $var;?>";
</script>
<script type="text/javascript" src="test.js"></script>
<!-- AddThis Smart Layers END -->
</head>
<input type="submit" onclick="func();">  Button </input> //This function call test.js
<body>

これで、myJsVar を介して変数にアクセスできます

于 2013-10-22T10:50:47.543 に答える