2013-04-03 144 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()__()正確的內容。