这是我在wordpress站点中为按钮打开短代码弹出提示所做的功能之一。我还看到函数内部的wordpress添加了<p>
标签,可能是中的错误
<input id="textarea" name="textarea" type="text" value="" placeholder="place it here">
<script>
function pol()
{
var x;
var name=prompt("Name","Name");
if (name!=null)
{
x = document.getElementById("textarea").value;
x = "[pol]" + name + "[/pol]";
document.getElementById("textarea").value=x;
}
}
</script>
<input type="button" value="pol" onClick="pol()">
错误:
Uncaught syntax error: Unexpected token <
Uncaught ReferenceError: pol is not defined
在wordpress页面中,在chrome上,检查元素显示如下功能:
<input id="textarea" name="textarea" type="text" value="" placeholder="place it here"></p>
<p><script>
function pol()
{
var x;</p>
Uncaught SyntaxError: Unexpected token <
<p>var name=prompt("Name","Name");</p>
<p>if (name!=null)
{
x = document.getElementById("textarea").value;
x = "[pol]" + name + "[/pol]";
document.getElementById("textarea").value=x;
}
}
</script></p>
<p><input type="button" value="pol" onClick="pol()"></p>
Uncaught ReferenceError: pol is not defined (repeated 2 times)
我发现这个主题是错误的根源。某个地方有冲突。。。
解决方案:
在每一个空行中,wordpress主题都被编码为广告<p>
标签,这产生了错误,现在我修复了功能,它正在工作:
<script>
function pol()
{
var x;
var name=prompt("Name","Name");
if (name!=null)
{
x = document.getElementById("textarea").value;
x = "[pol]" + name + "[/pol]";
document.getElementById("textarea").value=x;
}
}
</script>
<input type="button" value="pol" onClick="pol()">
您还可以在php页面中添加以下代码,以删除每一行或空行的WordPress预编码
标记remove_filter('se_content','wpautop')