1

johanjavascript変数とphp配列を含むjavascriptアラートボックスを使用して印刷しようとしています。しかし、次のコードは機能していません。

$result['firstName']['lastName']='johan';
$data =  json_encode($result);

?>
<html>
<body onload='myfunction(<?php echo $data; ?>);'>
<script>
function myfunction(data) 
{
  var fn = "firstName";
  alert(data.+fn+.lastName);
}
</script>
</body>
</html>
4

4 に答える 4

0

alert(data.firstName.lastName); を試してください。

編集:

これをテストしたところ、期待どおりに動作するので、乾杯:)

<?php
$result['firstName']['lastName']='johan';
$data =  json_encode($result);
echo $data;
?>
<html>
<body onload='myfunction(<?php echo $data; ?>);'>
<script>
function myfunction(data) 
{
  var fn = data.firstName;
  alert(fn.lastName);// you can use data.firstName.lastName too 
}
</script>
</body>
</html>
于 2012-10-30T12:24:07.393 に答える
0

ドット表記を使用して変数オブジェクト プロパティにアクセスすることはできません。代わりに [] を使用する必要があります。

于 2012-10-30T12:30:16.167 に答える
0

これはそれを行う必要があります:

alert(data[fn].lastName);

インデックスは変数内にあるため、括弧を使用する必要があります。

于 2012-10-30T12:24:48.487 に答える
0

少なくとも、php で生成された json 文字列を評価する必要があります

アラートの使用: data[fn].lastName

Mb 私は他のsmthを逃しました。

于 2012-10-30T12:26:26.800 に答える