2014-03-05 85 views
-4

我有一个问题,为什么我的Javascript工作正确的纯html - 本地主机,但是当在jsfiddle包括代码 - 停止工作,为什么?哪里不对?请帮帮我。为什么Javascript停止工作?

<HTML> 
<head> 
</head> 
<BODY> 
<script type="text/javascript"> 
function CheckContact(val){ 
var element=document.getElementById('email'); 
if(val=='email') 
    element.style.display='block'; 
else 
    element.style.display='none'; 

var element=document.getElementById('sms'); 
if(val=='sms') 
    element.style.display='block'; 
else 
    element.style.display='none'; 
} 
</script> 
<select name="contactinfo" id="contactinfo" onchange="CheckContact(this.value);"> 
    <option>Select Contact Option</option> 
    <option value="email" class="email">Email</option> 
    <option value="sms"class="email">Text (SMS)</option> 
</select><br /> 
<select> 
<option> - </option> 
<option id="email" style="display: none;">Enter Email: </option> 
<option id="sms" style="display: none;">Enter Cell Number: </option> 
</select> 
</body> 
</html> 

我有一个问题,为什么当在wordpress页面中包含此代码 - JavaScript停止工作?

+2

您可能希望将标题更改为稍微宽一些的标题。 –

+0

目前还不清楚你在问什么,特别是因为你没有指定什么是“工作”。它应该做什么? – GolezTrol

+0

在某些浏览器中,“隐藏”选项元素是不可能的。 –

回答

2

jsfiddle让你选择将JavaScript代码放在页面左侧下拉的位置。将其从onLoad更改为NoWrap - in <head>以使您的功能在全局范围内可访问。

+0

嗯。这不会改变我的任何...我不知道为什么,但电子邮件和短信选项都显示在加载。 –

+0

@AlbertXing确保您在更改设置后再次点击“运行”。当第一个下拉值改变时,它现在调用了'CheckContact'方法。 –

+0

我不是OP,只是确认你的答案,如果它是正确的upvote它。我编辑了我以前的评论。 –

-2

那么,它帮助,如果你使用“{}”

'function CheckContact(val){ 
var element=document.getElementById('email'); 
if(val=='email') { 
    element.style.display='block'; 
} 
else { 
    element.style.display='none'; 
} 
var element=document.getElementById('sms'); 
if(val=='sms') { 
    element.style.display='block'; 
} 
else { 
    element.style.display='none'; 
} 
console.log ("test"); 
}' 

放一些的console.log调用就像上面的例子,直到我说的“{}”它没有在所有甚至在正常工作浏览器。

+1

顺便说一句,你错了。你可能想要修改你的答案是正确的(如果你有其他两个答案以外的话)或删除它。 – Ryan

1

只需将您的小提琴更改为no-wrap in <head>即可。它在Chrome中为我工作。

相关问题