2011-03-03 94 views
2

我一直在試圖檢查複選框是否被選中。出於某種原因,它不能正常工作,它只是說沒有選擇任何東西。檢查複選框是否使用Javascript進行檢查

功能

if(document.theform.hail.Checked==true && document.theform.wind.Checked==false && document.theform.tornado.Checked==false){ 
     alert("Hail Checked"); 
}else{ 
     alert("Nothing Selected"); 
    } 

形式

<form name="theform" action="<?php echo $PHP_SELF; ?>" method="post"> 
     <div class="date"> 
     From: <script type="text/javascript">DateInput('orderdate', true, 'YYMMDD')</script> To:<script type="text/javascript">DateInput('orderdatetwo', true, 'YYMMDD')</script> 
     </div> 
     <div class="checkBoxes"> 
     <input id="hail" name="hail" type="checkbox" value="hail">Hail<br /> 
     <input id="wind" name="wind" type="checkbox" value="wind">Wind<br /> 
     <input id="tornado" name="tornado" type="checkbox" value="tornado">Tornado<br /> 
     <input name="submit" type="submit" value="View Data" onClick="document.theform.action='<?php echo $PHP_SELF; ?>';"> 
     <input name="submit" type="button" value="Create KML" onClick="generatorChoice();"> 
+0

你說風和冰雹必須檢查......這是正確的嗎? – Zoidberg 2011-03-03 03:18:37

+0

這個測試只是檢查冰雹 – shinjuo 2011-03-03 03:19:34

回答

8

的屬性應該是在小寫。

var theform = document.theform; 
if(theform.hail.checked && !theform.wind.checked && !theform.tornado.checked) { 
    alert("Hail Checked"); 
} else { 
    alert("Nothing Selected"); 
} 

而且,上面的代碼所示:

  • 無需對truefalse
  • 商店獲得更好的性能
+0

你是指通過存儲對錶單的引用是什麼意思? – shinjuo 2011-03-03 03:22:16

+0

@shinjuo:我的回答中的第一行代碼,'var theform = document.theform;' – 2011-03-03 03:23:04

+0

對不起,這是漫長的一天。感謝您的幫助 – shinjuo 2011-03-03 03:24:24

2

明確檢查theform參考在Javascript中,該物業的名稱爲checked,而不是Checked

3
if(document.getElementById("hail").checked && !document.getElementById("wind").checked && !document.getElementById("tornado").checked) { 
    alert("Hail Checked"); 
} else { 
    alert("Nothing Selected"); 
} 
+0

我喜歡使用getElementById好得多。更清潔,更不用說與舊的瀏覽器,AHEM IE ... AHEM的機會... – Zoidberg 2011-03-03 03:26:41

+1

就我個人而言,我絕不會想到以另一種方式做它。然後,我也幾乎永遠不會使用jQuery ...... – 2011-03-03 03:29:44

相關問題