我正在尝试将谷歌事件跟踪添加到WordPress插件中。此插件中提交按钮的代码为:
{
return "<input type="submit" ".
"name="".fm_form_submit_btn_name()."" ".
"id="".fm_form_submit_btn_id()."" ".
"class="submit" ".
"value="".fm_form_submit_btn_text()."" ".
"onclick="".fm_form_submit_btn_script()."" ".
" />n";
}
我正在尝试将谷歌分析跟踪代码onclick=_gaq.push(['_trackEvent', 'Form', 'Submit', 'Apply'])
添加到上述块中,并最终'Apply'
替换为返回表单标题的fm_form_the_title()
。
问题:无论我在插入跟踪代码块时使用哪种引号排列方式,我都会遇到错误"语法错误、意外T_CONSTANT_ENCAPSED_STRING"或"T_STRING",导致整个网站关闭。
编辑:上面的代码块工作,不需要简化,是一个更大的项目的一部分。我的问题是如何添加onclick=_gaq.push(['_trackEvent', 'Form', 'Submit', 'Apply'])
并最终用fm_form_the_title()
替换'Apply'
,而不会破坏我的网站。
以下内容是有效的,尽管在返回后使用它的代码可能会在参数、括号或单引号上引发错误。如果这不起作用,请查看返回后使用它的位置,并相应地转义特殊字符。
function yourfunc() {
return "<input type="submit" ".
"name="".fm_form_submit_btn_name()."" ".
"id="".fm_form_submit_btn_id()."" ".
"class="submit" ".
"value="".fm_form_submit_btn_text()."" ".
"onclick="_gaq.push(['_trackEvent', 'Form',".
"'Submit', '".fm_form_the_title()."']);".
fm_form_submit_btn_script().""/>n";
}
尝试不要在传递给 _gaq.push 方法的数组中使用单引号。
function yourfunc() {
return "<input type="submit" ".
"name="".fm_form_submit_btn_name()."" ".
"id="".fm_form_submit_btn_id()."" ".
"class="submit" ".
"value="".fm_form_submit_btn_text()."" ".
"onclick="_gaq.push(["_trackEvent", "Form",".
""Submit", "".fm_form_the_title().""]);".
fm_form_submit_btn_script().""/>n";
}
我必须同意下面的人的观点,尽管以下内容对于可读性和未来的支持都是最好的。
function yourfunc() {
return '<input type="submit" '.
'name="'.fm_form_submit_btn_name().'" '.
'id="'.fm_form_submit_btn_id().'" '.
'class="submit" '.
'value="'.fm_form_submit_btn_text().'" '.
'onclick="_gaq.push(["_trackEvent", "Form",'.
'"Submit", "'.fm_form_the_title().'"]); '.
fm_form_submit_btn_script().'"/>n';
}
简单地用
return '<input type="submit" '.
'name="".fm_form_submit_btn_name()."" ".
'id="'.fm_form_submit_btn_id().'"'.
'class="submit"'.
'value="".fm_form_submit_btn_text().'"'.
'onclick="'.fm_form_submit_btn_script().'"'.
' />n';
既然您要转义引号以放入函数调用,为什么不使用单引号呢?
return '<input type="submit" '.
'name="'.fm_form_submit_btn_name().'" '.
'id="'.fm_form_submit_btn_id().'" '.
'class="submit" '.
'value="'.fm_form_submit_btn_text().'" '.
'onclick="'.fm_form_submit_btn_script().'" '.
' />
';
试试
return '<input type="submit" '.
'name="".fm_form_submit_btn_name(). '" '.
'id="'.fm_form_submit_btn_id().'" '.
'class="submit" ".
'value="'.fm_form_submit_btn_text().'" '.
'onclick="'.fm_form_submit_btn_script(). '" '.
' />';