使用示例模块的Ajax进度条

时间:2015-02-26 14:14:33

标签: ajax drupal-7 progress-bar

我是drupal的新手,目前正在学习示例模块及其子模块,我已经使用自定义模块创建了表单,在该表单中我希望为提交按钮添加进度条,我推荐了很多网站但是,我可以'得到任何明确的想法,我为提交按钮所做的是,

function custom_form_menu() {
$items = array();
$items['think/form'] = array(
'title' => t('Entry Free'),
'page callback' => 'custom_form_form',
'page arguments' => array('ajax_example_progressbar_form'),
'access arguments' => array('access content'),
'description' => t('My form'),
'type' => MENU_CALLBACK,
'file' => 'ajax_example_progressbar.inc',
);
return $items;
}
and for submit button,

custom_form_my_form($form , &$form_state) {
$form['first'] = array(
'#type' => 'textfield',
'#title' => t('First name'),
'#description' => "Please enter your first name.",
'#maxlength' => 6,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
);
return $form;
}

因此,现在如何在提交表单时在此提交按钮中添加进度条。

1 个答案:

答案 0 :(得分:0)

首先,进度条和进度指示器之间存在差异。进度条通常以百分比显示请求的进度,因此它实际上取决于您正在执行的操作,并且需要更复杂的编码。如果您只是在寻找一个进度指示器来让用户知道ajax请求正在发生,那么它实际上是内置在drupal使用的ajax框架中。

为了让您的表单通过ajax提交,您需要在应该触发它的表单项上定义ajax属性:

$form['submit'] = array(
  '#type' => 'submit',
  '#value' => 'Submit',
  '#ajax' => array(
    'callback' => 'ajax_example_simplest_callback',
  )
);

将是最简单的例子。

API site

上有大量文档