我试图实现事件跟踪到一个联系人表单上的提交按钮。下面是我正在使用的代码:
<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']);"
代码开头和结尾的双引号导致服务器错误。如果我使用单引号代替,则跟踪不起作用。
我试过用单引号包装双引号,但这也会导致服务器错误。
如果有人能告诉我哪里出了问题和解决方法,我将非常感激。
谢谢
使用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()
或__()
的内容