2013-05-05 22 views

回答

1

您需要查看Form API ajax options。具體來說,我想你會想定義一個調用field_attach_update的ajax ['callback']函數。

<?php 
function my_form_func($form, $form_state) { 
    $my_checkbox_val = isset($form_state['values']['my_checkbox']) ? $form_state['values']['my_checkbox'] : NULL; 
    $form['my_checkbox'] = array(
    '#type' => 'checkbox', 
    '#title' => t('Check me'), 
    '#default_value' => $my_checkbox_val, 
    '#return_value' => $nid, // Assuming you are working with a node, but could be any entity 
    '#ajax' => array(
     'callback' => 'my_form_field_update_func', 
     'event' => 'click', 
    ), 
); 
    return $form; 
} 

function my_form_field_update_func($form, $form_state) { 
    if (isset($form_state['values']['my_checkbox'])) { 
    $node = node_load($form_state['values']['my_checkbox']); 
    field_attach_update('node', $node); 
    } 
    return $form['my_checkbox']; 
} 
?>