2015-12-14 102 views
1

它應該很簡單。您有以下文字:當複選框(未選中)時顯示另一個文本

您的尖叫:哎呀!

當你檢查下面的複選框說

吶喊 「耶」,而不是! 「!哎呦」

字應改爲「耶!」:

你尖叫:耶!

所以我的身體(我想用一個函數來做到這一點):

Your scream: <script>GiveMeSomeScream()</script>!<hr> 
<input type="checkbox" name="whatever" id="ScreamYay"> Scream "yay" instead! 

但我有實際腳本問題。這是我第一次嘗試:

function GiveMeSomeScream() 
{ if (document.GetElementById('ScreamYay').checked == "true") 
{ document.write("Yay"); 
} else 
{ document.write("Whoops"); 
}} 

但它只是不會工作。所以,我擴大了它這樣的:

var yay = document.getElementById('ScreamYay').checked 
function GiveMeSomeScream() 
{ if (yay == "true") 
{ document.write("Yay"); 
} else 
{ document.write("Whoops"); 
}} 

現在它給「哎呦」每一次(即使我做選中複選框defaultly),這幾乎是它。

我知道這很荒謬我甚至無法處理複選框,但我仍然很樂意提供任何幫助。

+0

JavaScript中的布爾常量是'true'和'false',沒有引號。無論如何,你通常不需要明確地比較常量。 – Pointy

+0

此外,您在這裏使用'document.write()'會導致根本性失敗:該調用將清除整個頁面,只剩下「Yay」或「Whoops」。 – Pointy

回答

1

變化if (yay == "true")if (yay)

+0

不幸的是,沒有幫助。 – quoque

0

值從document.getElementById('elementID').checked返回將是一個布爾值。這進一步解釋here。爲了使用它,您可以使用@Alex建議的if(yay === true)if(yay)簡單地測試該值。至於使用document.write,您需要包含像this這樣的html標籤(標記)。

0

您可以像下面這樣做
您必須在複選框標籤上添加onchange功能。
還的document.getElementById是錯誤的
的document.getElementById是正確
終於
的document.getElementById( 「ScreamYay」)。檢查== 「真」 是錯誤的
的document.getElementById( 「ScreamYay」)。檢查= = true是對的

function GiveMeSomeScream() 
{ if (document.getElementById('ScreamYay').checked == true) 
{ document.write("Yay"); 
} else 
{ document.write("Whoops"); 
}} 
相關問題