使用特定变量从PHP echo调用JS函数时出现问题

Issue calling JS function from PHP echo with a specific variable

本文关键字:函数 JS 问题 调用 echo 变量 PHP      更新时间:2023-09-26

我有一个JS函数,它将向当前URL添加带值的键。下面有两个几乎相同的链接,唯一的区别是传递给JS函数的变量。一个链接传递$month,另一个传递$event_category。出于某种原因,在传递$event_category时,JS函数甚至不会被调用。有人知道我做错了什么吗?

你必须向右滚动才能看到差异在哪里。

    $month = 1;
    $event_category = (string) ($eventCategories[$k]["event_category"]);
    echo gettype($event_category); // prints "string"

    // doesn't work?
    echo '<div class="month selected"><a href="javascript:void(0);" onclick="javascript:insertParam('. "'event_category'" .', '. $event_category .');" class="button" role="button">
    <image width="100" height="60" src="images/'. $images_list[$eventCategories[$k]["event_category"]].'"></a></div>';  
    // works
    echo '<div class="month selected"><a href="javascript:void(0);" onclick="javascript:insertParam('. "'event_category'" .', '. $month .');" class="button" role="button">
    <image width="100" height="60" src="images/'. $images_list[$eventCategories[$k]["event_category"]].'"></a></div>';      

您应该在$event_category周围加引号,否则它将被javascript解释为变量。所以,转换

. $event_category .

. '"' . $event_category . '"' .