2016-05-24 71 views
1

我正在一個html表單中,我有一些複選框,但我只想將未檢查的值傳遞給另一個表單(get_value.php)。如何僅傳遞未經檢查的框的值?

<form action="get_value.php" method="post"> 
    <input type='checkbox' name='products[]' value='call1'>col1<br> 
    <input type='checkbox' name='products[]' value='call2'>col2<br> 
    <input type='checkbox' name='products[]' value='call3'>col3<br> 
    <input type='checkbox' name='products[]' value='call4'>col4<br> 
    <input type='submit' value='Submit'> 
    </form> 

有什麼辦法可以過濾$ _POST ['products']來獲得未經檢查的值嗎?

+1

可能重複的[如何獲取表單中的複選框元素時未勾選複選框的值張貼?](http://stackoverflow.com/questions/19239536/how-get-value-for-unchecked-checkbox-in-checkbox- elements-when-form-posted) –

+0

你也可以用javascript來做到這一點。 –

+0

@ShaluSinghal我怎麼能在JavaScript中做到這一點? –

回答

1

根本未發送未經檢查的複選框。如果,例如,檢查COL1COL2,下面的POST數據將被髮送到get_value.php

array(
    'products' => array(
     'call1', 
     'call2', 
    ), 
) 

如果要確定哪些是未選中的,做到這一點:

$values = array(
    'call1', 
    'call2', 
    'call3', 
    'call4', 
); 

$unchecked = array_diff($values, $_POST['products']); 

var_dump($unchecked); 

結果:

array(2) { 
    [2]=> 
    string(5) "call3" 
    [3]=> 
    string(5) "call4" 
} 
0

您可以阿爾斯o在javascipt中取消選中複選框值。

試試這個

$('#q').submit(function(e) { 
    $('input[type="checkbox"]').each(function(index) { 
     if(!this.checked) { 
      alert(this.value); 
     } 
    }); 
    e.preventDefault(); 
}); 

這裏qformID

+0

我正在使用上面的代碼,但它不起作用。 –

相關問題