4

如何使用 hook_submit 保存复选框的状态?

钩子形式:

$versionArray = array('ver 1.7.0.0-beta1' => 'ver 1.7.0.0-beta1', 'ver 1.6.2.0' => 'ver 1.6.2.0', 'ver 1.5.1.0' => 'ver 1.5.1.0', 'ver 1.4.2.0' => 'ver 1.4.2.0', 'ver 1.3.3.0' => 'ver 1.3.3.0');

$form['mage']['version'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Select'),
    '#required' => TRUE,
    '#options' => $versionArray
);  

钩子提交:

....
$node->field_checkboxes[0]['value'] = $form_state['values']['mage']['version'];
....
node_save($node)

我已正确保存所有其他字段,但这些字段仍为空白。

谢谢罗伯特

4

2 回答 2

6

在您的提交功能中尝试使用以下代码

$selected = array();
foreach($form_state['values']['version'] as $a => $b)
{
    if((string)$b != "0")
    {
         $selected[] = $b;
    }
}
variable_set("var_selected", $selected);

希望这会有所帮助……穆罕默德。

于 2012-04-11T07:42:43.157 回答
0

更简单:

$save_array = array_filter($form_state['values']['mage']['version']);
    $p=0;
        foreach ($save_array as $a => $b) {
            $node->field_checkboxes['und'][$p++]['value'] = $b; 
        }

...
node_save($node);
于 2015-09-02T21:25:33.697 回答