2013-08-18 63 views
-2

形式:檢查輸入選中複選框不工作

<label for="sitecheck"> 
<span style="font-weight:bold;">סגור אתר זמנית:</span> 
</label> 
<input name="sitecheck" type="checkbox" id="sitecheck" onClick="validateSitec();" <?php if($data['sclosed'] == 'true'){echo 'checked = "checked"';}; ?> /><span style="font-weight:bold;">סגור אתר ורשום הודעה זמנית</span><br> 
<input type="text" name="closedmsg" id="closedmsg" style="width:440px;height:120px;<?php if($data['sclosed'] == 'true'){echo '';}else{ echo 'display:none;'; }; ?>" value="<?php echo $data['csitemsg']; ?>" /><span id="sitemsg_error"></span> 

PHP:

if(isset($_POST['sitecheck'])) 
    { 
     $sitecheck = 'true'; 
    }else{ 
     $sitecheck = 'false'; 
    } 

任何想法,爲什麼它不工作? 我試圖確定是否檢查或更新數據庫.. anyidea爲什麼它的alwys是真實的,即使我不檢查?

編輯:

由我自己定了ajax開機自檢錯了,我應該val中的檢查框那樣:

var sitecheck = $('#sitecheck').is(':checked') ? $('#sitecheck').val() : '' ; 

所以現在的工作表示感謝。

+0

uhm,只是爲了澄清一下,上面的HTML代碼片段是否包含在'

'標籤之間? – KarelG

+0

JavaScript和JSON與此有什麼關係? – Quentin

+0

yea afcours; 0它只是代碼的一部分,我剛剛通過json發佈了這篇文章,以便說明問題 – user2635001

回答

0

value param添加到您的複選框。如果複選框被選中,值將被髮送。

<input name="sitecheck" type="checkbox" id="sitecheck" value="1" .... 
+0

這不會有什麼區別,如果沒有值屬性,那麼它將默認爲''on'',這足以在PHP中通過測試。 – Quentin

+0

如果它只是發送「on」而不是值,它有什麼不同?無論如何,我會嘗試這種方式。 – user2635001

+0

@ user2635001 - 既然你只是測試'isset':沒什麼區別,這是我的觀點。 – Quentin