2013-04-03 93 views
0

我正在尝试对联系人表单上的提交按钮实施事件跟踪。这里是我正在使用的代码:PHP代码中的事件跟踪

<input type='button' value='".((get_theme_option("translator_status") == "enable") ? get_text("tranlator_send_message") : __('Send comment','theme_localization'))."' id='submit2' class='feedback_go' name='submit'> 

,这里是我需要在其中放置代码:

onclick="_gaq.push(['_trackEvent', 'Contact Us Form', 'Submit', 'Submit']);" 

在代码开头和结尾的双引号是导致服务器错误。如果我使用单引号,则跟踪不起作用。

我试过在单个包装双引号,但也导致服务器错误。

如果有人能告诉我我要去哪里并解决问题,我将不胜感激。

感谢

+0

首先,''tranlator_send_message“'有一个错字。不知道这是否属于这个问题。 –

回答

0

使用sprintf()可以让这个代码有点更易于管理:

echo sprintf('<input type="button" id="submit2" class="feedback_go" value="%s" onclick="_gaq.push(%s);" />', 
    htmlspecialchars(get_theme_option("translator_status") == "enable" ? get_text("tranlator_send_message") : __('Send comment','theme_localization'), ENT_QUOTES, 'UTF-8'), 
    json_encode(array('_trackEvent', 'Contact Us Form', 'Submit', 'Submit')) 
); 

它还使用htmlspecialchars()逃跑要么get_text()__()正确的内容。