2013-07-17 2 views
1

기본적으로 상자에 틱 (= 1)이 적용될 때 적용되는 값을 얻을 수 있지만 체크하지 않으면 디폴트 값 0을 전송할 수 없습니다.체크하지 않으면 기본 체크 박스 값을 설정하려고 시도합니다.

<input type="checkbox" name="post_friend" value="1"> 

검색 한 적이 있는데 누군가가 숨겨진 체크 박스를 설정하도록 제안했지만 나에게 적합하지 않습니다.

<input type="hidden" name="post_friend" value="0"> 
+0

당신이 체크 박스 전에 숨겨진 입력을 넣어나요? –

+2

체크되지 않은 체크 박스가 전송되지 않습니다. – Musa

+1

왜 이것을 PHP/mySQL으로 태그 했습니까? –

답변

3

이럴 수 없습니까? 체크 박스를 선택하면

$checkbox = isset($_POST['post_friend']) ? $_POST['post_friend'] : 0 ; 

그래서, 변수는 그렇지 않은 경우 0

+0

, 감사합니다! – user2571547

+0

이 문제는 체크되지 않은 필드의 이름을 알지 못할 수 있다는 것입니다. 나는 사용자 데이터에 따라 확인란의 ID가 다를 수있는 비슷한 문제가 있습니다. 나는 어떤 체크 박스 (그들의 이드)가 제출 후에 체크되었는지 알 수 있지만, 나는 (직접) 다른 체크 박스가 있었는지 알 수없고 체크되지 않았기 때문에 DB에서 그들을 업데이트 할 수 없었다. – DiegoDD

0

의 변수에 할당 된 값은 OP에 의해 주어졌다

<div class="col-xs-5 drinkingLeft"> 
<input type="checkbox" name="beer" id="beer"class="require-one col-xs-1" value="0"/> 
<input id='beerHidden' type='hidden' value='0' name='beer'> 
<label for="beer" class="col-xs-10">Beer </label> 
</div> 


$('#beer').on('change', function() { 
this.value = this.checked ? 1 : 0; 
}).change(); 

$("#submit").click(function() { 
if(document.getElementById("beer").checked){ 
document.getElementById('beerHidden').disabled = true; 
} 
}); 
1

아래에있는 원래의 방법 같은 것을 시도 1입니다 그러나 작동해야하지만 값은 매우 다를 수 있습니다. 이 경우, 예를 들어 ["post_friend"] = 0

,

<input type="checkbox" name="post_friend" value="1"> 
<input type="hidden" name="post_friend" value="0"> 

.

그러나,이 예제에서 :

<input type="checkbox" checked="checked" name="post_friend" value="1"> 
<input type="hidden" name="post_friend" value="0"> 

대부분의 브라우저는 ["post_friend"] = "1,0"를 보내드립니다. 동일한 속성에 대한 여러 값은 일반적으로 HTTP 요청에서 연결됩니다. 당신은 그러나 1

을 찾기 위해 String.Contains을 사용할 수 있습니다이를 위해

, 여기, 당신은 정말 귀하의 의견이 더 적합 체크 박스 또는 라디오 입력을해야합니다 여부를 평가해야한다.

0

HTML

<input type="checkbox" id="chkbox1"> 

JQuery와

if($("#chkbox1").is(':checked')){ 
      value = "True"; 
     }else{ 
      value= "False"; 
     } 
관련 문제