1

onclick イベントによって関数にデータを送信していますが、文字列値を取得できません。整数値を取得するだけです。 「値」が定義されていないと表示されます。何が問題ですか。

私のコードは次のとおりです。

<a href="javascript:void(0)" 
   onclick="begin(<?php echo $data['user_id'];?>,
   <?php echo $data['name'];?>);">       

これは私の機能です:

function begin(id,name)
{
    alert(id);
    alert(name);
}

ハードコード文字列を渡すと、名前の値を取得できません。ここにも取得できず、整数のみにアクセスできます。

4

2 に答える 2

3

You need to wrap your parameters in quotes to make it a string.

<a href="javascript:void(0)" onclick="begin('<?php echo $data['user_id'];?>','<?php echo $data['name'];?>');">
于 2013-03-08T19:19:11.227 に答える
2

マットが言うように、引用符がなければ認識されません。

そうは言っても、彼の答えは正しくないと思います。私はこのコードを好むでしょう:(読みやすくするために空白が追加されました)

<a href="javascript:void(0);" onclick="begin(
    <?php echo htmlspecialchars(json_encode($data['user_id'])); ?>,
    <?php echo htmlspecialchars(json_encode($data['name'])); ?>
);">

json_encode(docs)は、任意の PHP 変数 (リソースを除く) を JavaScript に渡すのに適しています。この場合、文字列を引用符で囲み、必要に応じてバックスラッシュで文字をエスケープします。属性に入るので、htmlspecialcharsシンボルを安全に挿入できるように変換する必要があります。

于 2013-03-08T19:28:47.710 に答える