cannot get checkboxes value using drupal form api
10,952
When you use #options
on a FAPI element the value passed to the $form_state
is the array key, so you don't need to use array_keys()
.
I'm not sure why you're using checkboxes
for a yes/no, usually one would use a simple checkbox
element. However if that's really what you want to do:
- Your
#options
can't contain on option with0
as the array key, it will be automatically filtered out and you'll never know if that option has been checked. - You should use
$heating_options_chosen = array_filter($form_state['values']['heating']
to get the selected checkbox options.
I honestly think your code should look like this though:
$form['checklist_fieldset']['heating'] = array(
'#type' => 'checkbox',
'#title' => t('Heating options'),
'#options' => array(
'1' => t('Yes'),
'0' => t('No')
),
'#description' => t('Heating details.')
);
$heating_checked = $form_state['values']['heating'] == 1;
Author by
Maverick
Updated on June 04, 2022Comments
-
Maverick almost 2 years
i have form in drupal which uploads images and has got few checkboxes in it. Here is the form:
$form['checklist_fieldset'] = array( '#type' => 'fieldset', '#title' => t('Check List'), '#collapsible' => FALSE, '#collapsed' => FALSE, ); $form['checklist_fieldset']['heating'] = array( '#type' => 'checkboxes', '#title' => t('Heating options'), '#options' => array( '0' => t('Yes'), '1' => t('No') ), '#description' => t('Heating details.') );
and here is my submit function where i am processing image upload and grabbing the checkboxes value as well. I am getting the success message and image is getting uploaded but not getting the value of check boxes.
function property_add_view_submit($form,&$form_state){ $validators = array(); if($file = file_save_upload('p_file1',$validators,file_direcotry_path)){ $heating = array_keys($form_state['values']['heating']); drupal_set_message(t('Property Saved! '.$heating)); dpm( $form_state['values']['heating']); }
-
Maverick about 12 yearswell..iam using checkboxes because i wanted to use it as a check box group.
-
Clive about 12 yearsah ok that makes more sense, glad the answer helped either way
-
Prerit Mohan about 11 yearsHow to toggle a text field depending on the value/options of checkbox? @Clive
-
Clive about 11 years@PreritMohan For Drupal 6 you'll need to do it manually I think, but for Drupal 7 you can use
#states
. -
Clive about 11 years@PreritMohan If you need to ask a new question use the link at the top of the page, putting it in comments isn't useful to anyone
-
Prerit Mohan about 11 yearsdrupal.stackexchange.com/questions/70410/… Can you help now? @Clive
-
khaled_webdev over 7 yearsuseful array_filter() to omit non checked box, thanks!