【问题标题】:CakePHP 2.1 - Callback functions for JsHelper / AJAXCakePHP 2.1 - JsHelper / AJAX 的回调函数
【发布时间】:2012-06-21 22:22:14
【问题描述】:

使用 CakePHP 2.x 的 JsHelper,对于每个回调函数,是否可以有多个选择器受到各种影响。例如,我正在使用:

echo $this->Js->submit('thumbs-up-green.jpg', array(
  'id' => 'thumbs-up-green',
  'before' => $this->Js->get('#thumbs-down-red')->effect('fadeOut'),
  'success' => $this->Js->get('#thumbs-down-gray')->effect('fadeIn')
));

假设我想在之前的回调函数中对#thumbs-down-gray 应用效果以及(除了我目前对#thumbs-down-red 的效果之外) ,它的语法是什么?我一直在四处寻找,但 JsHelper 的文档有限。

另外一个更简单的问题,JsHelper 提交按钮/表单似乎执行换行,即使 CSS display:none;活跃。如何摆脱该换行符?

【问题讨论】:

    标签: ajax cakephp callback helper


    【解决方案1】:

    我还没有找到一个非常简洁的 JsHelper 解决方案,我认为我无法链接其他元素和操作。

    所以我认为对于更复杂的回调函数,解决方案是执行一个预加载的函数,例如:

    'before' => 'someFunction();',
    

    但如果你只是想一次性淡出多个元素,那么你可以这样写:

    'before' => $this->Js->get('#thumbs-down-red, #other-element')->effect('fadeOut'),
    

    【讨论】:

      【解决方案2】:

      您必须在实际提交调用之前在变量中设置“之前”操作。像这样:

      $before = $this->Js->get('#skadetyp_form')->effect('fadeOut', array('buffer' => false));
      $before .= '$(\'#notice\').append(\'<div class="notice">Sending..<br/>' . $this->Html->image('load_bar.gif', array('alt' => 'Loading..')) . '</div>\')';
      $complete = $this->Js->get('#notice div')->effect('fadeOut', array('buffer' => false));
      $complete .= '$(\'#notice\').append(\'<div class="success">Succssfully seny!</div>\')';
      
      echo $this->Js->submit('Send!',
              array(
                  'update'=>'#skadetyp_form',
                  'complete' => $complete,
                  'before' => $before,
                  'error' => $error,
                  'async' => true,
                  'method' => 'post',
                  'dataExpression'=>true,
                  'data'=> $this->Js->serializeForm(
                      array(
                          'isForm' => true,
                          'inline' => true
                      )
                  )
              )
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多