我已经使用 CCK 构建了一个多步骤表单,但是我有几个问题悬而未决,但不确定 CCK 是否可以提供帮助。
在表单的一个步骤中,我有 2 个选择框,第一个是使用以下代码从词汇表中自动填充的,并且一切正常。
$category_options = array();
$cat_res = db_query('select vid, name from vocabulary WHERE vid > 1 ORDER BY name ASC');
while ($cat_options = db_fetch_object($cat_res)) {
$category_options[$cat_options->vid] = $cat_options->name;
}
return $category_options;
我想做的是,当用户从词汇表中选择一个项目时,它会自动使用 term_data 表中的术语填充另一个选择框。我有两个问题;
1)我已将以下代码添加到第二个选择列表中,只是为了确保它有效(它没有)。每个词汇表都有多个术语,但是第二个 sql 语句只返回一个结果,当它应该返回几个时,(这里有些错误)。例如,在 term_date 表中有 6 个术语,其中 vid 为 3,但我只将一个添加到选择列表中。
$term_options = array();
$term_res = db_query('select vid, name from term_data WHERE vid = 3 ORDER BY name ASC'); while ($options = db_fetch_object($term_res)) {
$term_options[$options->vid] = $options->name;
}
return $term_options;
2)我可以在第一个选择列表中添加一个 onChange 来调用一个函数来使用 CCK 自动填充第二个列表,还是我必须倾向于使用 FORM API 来完成我的整个表单。
任何帮助或想法将不胜感激。