【问题标题】:Multiple textfields in form not working表单中的多个文本字段不起作用
【发布时间】:2012-12-06 21:14:26
【问题描述】:

我创建了一个包含多个文本字段的表单。文本字段从数据库中获取默认值。表格在表格中,但有些单元格消失了。这很奇怪,因为当我更改数据库中的某些值时,它们可能会出现。任何人都可以帮忙吗?

$matches = competition_entry_load(); 
    $form['namefield'] = array(
    '#type' => 'fieldset',
    '#title' => t('check'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
  );

  foreach ($matches as $key=>$entry) {
    $A1 = $entry->A1;   
    $AX = $entry->AX;
    $A2 = $entry->A2;
    $home_team = $entry->home_team;
    $away_team = $entry->away_team;


    $form['namefield'][$A1] = array(
    '#type' => 'textfield',
    '#default_value' => $A1,
    '#size' => 6,
    '#maxlength' => 6,
    '#prefix' => '<table border=0 cellspacing=30 celladding=30><tr><td><center>',
    '#suffix' => '</center></td>',
  ); 



    $form['namefield'][$AX] = array(
    '#type' => 'textfield',
    '#default_value' => $AX,
    '#size' => 4,
    '#maxlength' => 4,
    '#prefix' =>'<td><center>',
    '#suffix' => '</center></td>',
  ); 

    $form['namefield'][$A2] = array(
    '#type' => 'textfield',
    '#default_value' => $A2,
    '#title'=> t($A2),
    '#size' => 4,
    '#maxlength' => 4,
    '#prefix' =>'<td><center>',
    '#suffix' => '</center></td>',
  ); 

    $form['namefield'][$home_team] = array(
    '#type' => 'textfield',
    '#default_value' => $entry->home_team,
    '#size' => 15,
    '#maxlength' => 15,
    '#prefix' =>'<td><center>',
    '#suffix' => '</center></td>',
  ); 

    $form['namefield'][$away_team] = array(
    '#type' => 'textfield',
    '#default_value' => $entry->away_team,
    '#size' => 15,
    '#maxlength' => 15, 
    '#prefix' =>'<td><center>',
    '#suffix' => '</center></td>',
  );


    $form['namefield']['skorH_'.$home_team] = array(
    '#type' => 'textfield',
    '#size' => 1,
    '#maxlength' => 1,
    '#prefix' =>'<td><center>',
    '#suffix' => '</center></td>',
  ); 

    $form['namefield']['skorA_'.$home_team] = array(
    '#type' => 'textfield',
    '#size' => 1,
    '#maxlength' => 1,
    '#prefix' =>'<td><center>',
    '#suffix' => '</center></td></tr></table>',
  ); 
}

return $form;
}

【问题讨论】:

  • 你有 HTML 输出的样本吗?
  • 如果完全去掉前缀和后缀会怎样?布局不会是您想要的,但您至少会知道表单字段是否存在以及正确的数据。如果是,那么您的问题“只是”与不正确的 HTML 有关,与不正确地使用 Forms API 无关。
  • 故障重现有无前缀和后缀。
  • 只要有来自 db 的相同值,同样的错误也只用一个字段(例如 $form['namefield'][$AX] )重现。非常奇怪......

标签: forms api drupal


【解决方案1】:

我认为错误在于您用作 $form 数组键的变量值。如果在循环中 $A1、$A2 等的值在任何点重复,则这些值将被覆盖。看到 $A1、$A2 等的值是唯一的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    相关资源
    最近更新 更多