2014-03-05 81 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中爲我工作。

相關問題