Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的两个参数_Javascript_Php - Fatal编程技术网

javascript中的两个参数

javascript中的两个参数,javascript,php,Javascript,Php,我想向javascript函数发送两个php值。显然它什么都没做。 我的语法正确吗 <script> function onmouseclick(nr, name){ alert(nr); alert(name); } </script> <?php echo '<img onClick="javascript: onmouseclick('. $template->id .','. $template->

我想向javascript函数发送两个php值。显然它什么都没做。 我的语法正确吗

<script>
function onmouseclick(nr, name){
        alert(nr);
        alert(name);
    }
</script>

<?php
echo '<img onClick="javascript: onmouseclick('. $template->id .','. $template->name .');" "class="img" />';
?>

鼠标单击功能(编号、名称){
警报(nr);
警报(名称);
}
您应该添加引号:

echo '<img onClick="javascript: onmouseclick("'. $template->id .'", "'. $template->name .'");"
echo'您应该添加引号:

echo '<img onClick="javascript: onmouseclick("'. $template->id .'", "'. $template->name .'");"
echo'只要使用
没有php标记

<img onClick="javascript:onmouseclick('<?php echo $template->id;?>','<?php echo $template->name;?>');" class="img" />
只需使用
没有php标记

<img onClick="javascript:onmouseclick('<?php echo $template->id;?>','<?php echo $template->name;?>');" class="img" />
是,您需要使用

echo '<img onClick="javascript: onmouseclick(\''. $template->id .'\',\''. $template->id .'\');" class="img" />';
echo';
需要在引号“”中添加参数,但由于您正在执行
echo'.'
操作,您需要使用escape\以便将引号视为字符串。

是,您需要使用as

echo '<img onClick="javascript: onmouseclick(\''. $template->id .'\',\''. $template->id .'\');" class="img" />';
echo';

需要在引号“”中添加参数,但由于您正在执行
echo'.'
操作,因此需要使用转义\以便将引号视为字符串。

您可以使用此选项来避免字符转义

echo sprintf('<img onclick="%s" class="img"/>',sprintf("onmouseclick(%d,'%s');",$template->id,$template->id)); 
echo sprintf(“”,sprintf(“onmouseclick(%d,“%s”);”,$template->id,$template->id));

您可以使用此选项来避免字符转义

echo sprintf('<img onclick="%s" class="img"/>',sprintf("onmouseclick(%d,'%s');",$template->id,$template->id)); 
echo sprintf(“”,sprintf(“onmouseclick(%d,“%s”);”,$template->id,$template->id));

我鼓励您阅读quirksmode.org上的文章,了解绑定事件处理程序的其他(更好)方法。然后您可以避免所有这些字符串连接内容:。如果您将PHP嵌入HTML/JS中,这已经很有帮助了,而不是反过来。我鼓励您阅读quirksmode.org上的文章,了解绑定事件处理程序的其他(更好)方法。然后您可以避免所有这些字符串连接内容:。如果你将PHP嵌入HTML/JS中,这已经很有帮助了,而不是反过来。这是一种可能性,但这不是我想要的,因为我想把echo放进去。@Julian:你仍然不需要
echo
。事实上,您应该尽可能避免
echo
ing HTML。从长远来看,这只会使代码更难维护。下面是一个带有
while
循环且没有
echo
调用HTML的示例:。如果您使用的是相当新的PHP版本,您甚至可以使用
这是一种可能性,但这不是我想要的,因为我想使用echo'@Julian:you仍然不需要
echo
。事实上,您应该尽可能避免
echo
ing HTML。从长远来看,这只会使代码更难维护。下面是一个带有
while
循环且没有
echo
调用HTML的示例:。如果您使用的是相当新的PHP版本,您甚至可以使用
不确定这是否有效,但浏览器会将输出呈现为id。“\”,“\”$模板->id.'\');“class=“img”/>”;可以解决吗?我使用onClick=“javascript:onmouseclick(“.$template->id.”,“.$template->name.”);“语法是正确的。问题出在$template->name中。不确定这是否有效,但浏览器将以id.'\',\'.$template->id.'\';“class=”img“/>”呈现输出;可以解决吗?我使用onClick=“javascript:onmouseclick('.$template->id.,'.$template->name.);“语法是正确的。问题出在$template->name中