如何从php添加第二个onclick动作

时间:2014-03-31 14:40:52

标签: javascript php onclick escaping

我在PHP代码中有这一行:

$return .= '            <div class="acrDivP" onClick="javascript: window.location.href = \'' . $productUrl . '\';" id="acrLink">' . $resultText . '</div>';

我想添加第二个onClick操作,如下面的粗体(**)所示:

$return .= '            <div class="acrDivP" onClick="javascript: window.location.href = \'' . $productUrl . '\';**ga('send', 'event', 'testEvent', 'click', 'ProductName');**" id="acrLink">' . $resultText . '</div>';

我知道我的语法是非常错误的,因为有些charatcters必须被转义。有人可以帮我修复语法吗?或者我需要一种全新的方法吗?

2 个答案:

答案 0 :(得分:0)

$return .= '            <div class="acrDivP" onClick="javascript: ga(\'send\', \'event\', \'testEvent\', \'click\', \'ProductName\'); window.location.href = \'' . $productUrl . '\';" id="acrLink">' . $resultText . '</div>';

答案 1 :(得分:0)

可以这样做,它只是需要大量的逃避。这降低了代码的可读性和可维护性。

$return .= '<div class="acrDivP" onClick="window.location.href = \'' . $productUrl . '\'; ga(\'send\', \'event\', \'testEvent\', \'click\', \'ProductName\');" id="acrLink">' . $resultText . '</div>';

这需要一些重构,但是如果你可以为代码打破PHP,它可以更清晰:

<div class="acrDivP" onClick="window.location.href = '<?php echo $productUrl ?>'; ga('send', 'event', 'testEvent', 'click', 'ProductName');" id="acrLink"><?php echo $resultText ?></div>