我想在触发CakePHP的 JsHelper 的事件函数时加载div。这是我的代码:
$this->Js->get('#MonthlyProgressProjectId')->event('change',
$this->Js->get('#MonthlyProgressAddForm')->request(array(
'action' => 'get_institution'), array(
'update' => '#institution',
'dataExpression'=>TRUE,
'method'=>'POST',
'async'=>TRUE,
'data' => $js->serializeForm(array('isForm' => TRUE, 'inline' => TRUE)))));
在这里,您看到,我正在获取表单,然后使用request()
函数。但是在触发此功能时,我想显示一个加载div。我怎么能这样做?
答案 0 :(得分:0)
将加载图像添加到您想要的位置。例如。
$this->Html->image('loading.gif', array('id'=> 'loader'));
将以下内容添加到请求的options数组中:
'before' => $this->Js->get('#loader')->effect('fadeIn', array('buffer' => false));
'complete' => $this->Js->get('#loader')->effect('fadeOut', array('buffer' => false));
现在你差不多完成了。当您第一次登陆页面时,您希望#loader
不可见,因此请添加到您的CSS #loader { display: none; }
。
现在,当您的活动被触发时,#loader
将会加载您的加载图片。当它完成后,它将再次淡出。如果你想要一个div围绕它,只需用ID包裹一个div,并对其执行操作。