0

私はこのjsを持っています

function fill(a,b)

このphpコードもあります:

$a_value; $b_value;

どういうわけか下の行に2つの変数を挿入したいので、それらをjs関数のパラメーターとして実行できますfill

編集:

echo '<li  onClick="fill(\''.$result['name'].'\');">'.$result['name'].'</li>';

2 番目のパラメータは $b_value とその文字列テキストでなければなりません

4

5 に答える 5

1

単一引用符 ( ') と二重引用符( ) を切り替えます"。それは文字列の値を与えるはずです。

このような:

echo "<li onClick='fill($a_value , $b_value);'>".$result['name'].'</li>';

変数が文字列の場合は、エスケープで囲む必要があります。

echo "<li onClick='fill(\"$a_value\" , \"$b_value\");'>".$result['name'].'</li>';

編集

標準に立ち向かうことに関する@Tomのコメントについて。

エスケープですべての二重引用符を使用できます。

echo "<li onClick=\"fill($a_value , $b_value);\">".$result['name'].'</li>';

変数が文字列の場合は、PHP 用に 1 回、HTML 用に 1 回、ダブル エスケープが必要です。

echo "<li onClick=\"fill(\\"$a_value\\" , \\"$b_value\\");\">".$result['name'].'</li>';

または、文字列に一重引用符を使用します。

echo "<li onClick=\"fill('$a_value' , '$b_value');\">".$result['name'].'</li>';
于 2013-06-04T19:17:50.220 に答える
0

PHP の基本的な構文: 単一引用符で囲まれた'文字列は変数を補間しません。リテラル$a_vなどを JS コードに送信していますが、これは未定義の変数と見なされます。

試す

echo "<li  onClick=\"fill($a_value , $b_value);\">".$result['name'].'</li>';
     ^--           ^--                         ^--^---

代わりは。

于 2013-06-04T19:19:10.663 に答える
-1

これがうまくいくかどうかは100%確信が持てませんが、試してみてください
function fill(<?php echo $a_value; ?>,<?php echo $b_value; ?>)

于 2013-06-04T19:18:39.520 に答える