2012-10-29 19 views
1

是否有任何理由說明爲什麼這些表格複選框會返回'1'或true語句,無論它們是否被選中?HTML中的複選框和表格數據

<table> 
    <tr> 
     <td>Lake/Body Name:</td> 
     <td><input type="text" id="title"></td> 
    </tr> 
    <tr> 
     <td>Fishing:</td> 
     <td><input type="checkbox" value="1" id="fish"></td> 
    </tr> 
    <tr> 
     <td>Wakeboarding:</td> 
     <td><input type="checkbox" value="1" id="wake"></td> 
    </tr> 
    <tr> 
     <td>Skiing:</td> 
     <td><input type="checkbox" value="1" id="ski"></td> 
    </tr> 
    <tr> 
     <td>Tubing:</td> 
     <td><input type="checkbox" value="1" id="tube"></td> 
    </tr> 
    <tr> 
     <td>Comments:</td> 
     <td><input type="text" id="comments"></td> 
    </tr> 
    <tr> 
     <td></td> 
     <td><input type="button" value="Save &amp; Close" onclick="saveBoat()"></td> 
    </tr> 
</table> 

這是一個內容爲VAR谷歌地圖的信息窗口,順便說一句...

+0

返回'1'到哪裏?請解釋您如何嘗試訪問該值。在表單提交時,如果選中,則應提交值'1';如果未選中,則不應提交。但是,如果通過JS訪問'value',則無論哪種方式都將是「1」。 – nnnnnn

+0

HTML5尚未完全指定,但除此之外,您並未使用*任何*建議的HTML5功能。請不要使用它標記您的HTML相關問題。謝謝! – hakre

+0

https://developer.mozilla.org/zh-CN/docs/HTML/Element/Input – hakre

回答

2

這取決於什麼的Javascript您正在使用,以檢查它是「檢查」。在複選框元素上使用.value與使用.checked屬性不同。如果您看到,您正在將HTML中複選框元素的value屬性設置爲1。正如我之前所說的,這與它的checked狀態無關,並且訪問方式不同。

+0

我正在檢查.value,非常感謝。我很新... – HondaKillrsx

+2

@HondaKillrsx沒問題。這絕對不是最直接的事情。請記住,使用'.checked'獲取當前被檢查的狀態,而'.value'獲取它的當前值,並且兩者都是不相關的......但是它的'checked'狀態決定它是否在表單提交中提交。 '.checked'屬性可以通過單擊它或通過在Javascript中設置來設置,而'.value'只能用Javascript來設置。 – Ian