2015-01-11 52 views
0

我在我的註冊頁面上有一個條款框,並且我將該值發送到一個php頁面,在該頁面中我使用代碼檢查值;複選框保持返回true

'&terms=' + $("#terms").attr('checked') 

,這是HTML複選框:

<input type="checkbox" name="terms" id="terms" data-validate="required" /> 

在我的PHP,我已經試過許多東西,如果它被設置,如果該值等於1,如果它是空的。我的PHP代碼不運行,這裏是我的PHP代碼:

 $termscheck = isset($_POST['terms']) ? '1' : ''; 
     if (!$termscheck == 1) 
     { 
      echo ' 
        <div class="col-md-5"> 
        <div class="alert alert-danger"> 
        <strong>Oh snap!</strong>Must accept terms of service 
        </div> 
        </div>'; 
      die; 
     } 

即使條款複選框是和沒有檢查代碼從未運行由於某種原因。怎麼來的?

+0

閱讀手冊對於jQuery [.attr](http://api.jquery.com/attr/),它會告訴你「怎麼回事」。 – CBroe

+0

可能更好使用jquery並且不允許頁面提交直到檢查條件 –

回答

1

使用$('#terms').is(':checked'),而不是attr當您使用&terms=

0

,然後isset($_POST['terms'])將始終返回true。

嘗試檢查值過:

isset($_POST['terms']) and $_POST['terms'] != "" 

和AF當然,你將需要檢查,如果複選框被選中作爲詳圖的回答是:

'&terms=' + $('#terms').is(':checked')