Php DrupalD3模块添加Ajax
我试图在D3 Drupal 7模块中实现ajax,我就是这样做的,但没有得到预期的结果,即 添加了一个菜单Php DrupalD3模块添加Ajax,php,ajax,drupal,d3.js,Php,Ajax,Drupal,D3.js,我试图在D3 Drupal 7模块中实现ajax,我就是这样做的,但没有得到预期的结果,即 添加了一个菜单 function d3_form_menu() { $items['d3_form'] = array( 'title' => 'D3 form examples', 'description' => 'Different visualization examples using d3.', 'page callback' => 'xx
function d3_form_menu() {
$items['d3_form'] = array(
'title' => 'D3 form examples',
'description' => 'Different visualization examples using d3.',
'page callback' => 'xxxxxxx',
'access callback' => TRUE,
);
$items['d3_form/simple_form'] = array(
'title' => 'Simple Form',
'page callback' => 'drupal_get_form',
'page arguments' => array('d3_form_frm'),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
**将要求用户为饼图输入值的表单**
function d3_form_frm($form,&$form_submit) {
$form['firstname'] = array(
'#title' => t('Firstname'),
'#type' => 'textfield',
//'#required' => TRUE,
);
$form['lastname'] = array(
'#title' => t('Lastname'),
'#type' => 'textfield',
);
$form['submit'] = array(
'#value' => t('Submit'),
'#type' => 'submit',
'#ajax'=>array(
'callback' => 'd3_form_frm_ajax_submit',
'wrapper' => 'd3-form-frm',
'method' => 'replace',
'effect' => 'fade',
),
);
return $form;
}
Ajax callback function.
function d3_form_frm_ajax_submit($form, $form_state) {
$pieArray=array();
// Dummy/dumb validation for demo purpose.
if (!empty($form_state['input']['firstname'])) {
$pieArray[0]=$form_state['input']['firstname']*1;
$pieArray[1]=$form_state['input']['lastname']*1;
return d3_form_custom_pie($pieArray);
}
else {
return 'Not input Received';
}
}
这将生成饼图,但实际情况并非如此。单击一次后,还将禁用“提交”按钮。但是,当我启用Devel时,我注意到
为开发人员提供各种块、页面和函数。此时会出现图表
function d3_form_custom_pie($pieArray) {
$chart = array(
'id' => 'visualization',
'type' => 'PieChart',
'rows' => array(
array('Development', $pieArray[0]),
array('Strategy', $pieArray[1]),
),
);
return d3_draw($chart);
}
D3在这里指的是什么?这似乎只是您的模块名。有两个链接涉及在drupal和中使用javascript。