我已经在html网站上使用了以下脚本多年没有任何问题,但出于某种原因我无法在WordPress中使用它。在下拉框中进行选择后,它应该立即将访问者重定向到新的URL,但在WP中没有任何反应 - 它只是坐在那里。以下是实时非工作页面:http://www.lawlessfrench.com/subjunctivisor/
这是脚本(删除了一堆选项):
<Script language="JavaScript">
<!-- Script courtesy of http://www.web-source.net - Your Guide to Professional Web Site Design and Development
function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}}
//-->
</SCRIPT>
<FORM NAME="form1">
<SELECT NAME="select" ONCHANGE="goto(this.form)" SIZE="1">
<option value="">Choose a verb or expression</option>
<option value="http://www.lawlessfrench.com/subjunctivisor/accepter/">accepter que</option>
<option value="http://www.lawlessfrench.com/subjunctivisor/vouloir/">vouloir que</option>
<option value="http://www.lawlessfrench.com/subjunctivisor/il-est-vrai/">vrai (il est / c'est)</option>
</select>
</form>
答案 0 :(得分:0)
这是WP中标准的做事方式。
1.首先使用wp_register_script()
注册您的脚本,请参阅更多信息的链接
http://codex.wordpress.org/Function_Reference/wp_register_script
2.接下来,您应该使用wp_enqueue_script()
将您的脚本排入队列,有关详细信息,请参阅此处
http://codex.wordpress.org/Function_Reference/wp_enqueue_script
为此,您必须将内联js放在单独的.js文件中。还要记住,如果您已经注册了脚本,那么您只需要稍后在enqueue函数中提供句柄。即
wp_enqueue_script( 'name_of_registered_script' );
答案 1 :(得分:0)
我在js小提琴上检查了你的剧本,它肯定有效。以下是测试的链接:http://jsfiddle.net/d9DzK/
在您的实际网站上更改选择时,会出现错误“goto function not defined”。您已经明确定义了该功能:
function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}}
所以我的猜测是在页面加载打破javascript后在javascript控制台中显示的2个错误。通过查看抛出错误的行,我相信这是因为您将脚本包含在模板中。
我认为你有一个额外的p标签,你没有关闭导致错误。
尝试更改此内容:
<p><Script language="JavaScript"><br />
对此:
<Script language="JavaScript"><br />
如果这不能解决问题,那么破坏的html实体仍然很可能是罪魁祸首。