:yii ajaxSubmitButton不会识别我的动作网址

时间:2015-11-09 15:23:08

标签: yii

我有一个更新表单,在该表单中有一个表格,我想在填写几个字段后使用ajax填充。我尝试过使用ajaxSubmitButton,但不知怎的,它并没有触发我想要的动作。

以下是我的观点:

<?php
    echo CHtml::ajaxSubmitButton('Insert', array('myController/insertProgress'), array(
         'type' => 'POST',
         'success' => 'function(){
               alert("success");
               }',
         'data' => array(
               'progress' => 'js:$("#progress").val()',
                ),
          )
   );                    
?>

myController的:

public function actionInsertProgress() {
    $data = $_POST['progress'];
    //do stuff here, including echoing the table row
}

当我点击提交按钮时,它不会触发insertProgress操作,而是触发actionEdit的主要表单操作。好像我提供的URL被忽略了。

此表单的网址如下: (sitename)/(modulename)/myController/edit/id/57

谢谢。

编辑:我还有另一个提交按钮来更新整个表单,这会触发actionEdit操作。

EDIT2:这是小部件产生的:

<script type="text/javascript">
/*<![CDATA[*/
jQuery(function($) {
jQuery('body').on('click','#yt0',function(){jQuery.ajax({'type':'POST','data':{'progress':$("#progress").val()},'url':'http://inarac.id/adm/topikkajian/insertProgress','cache':false});return false;});
});
/*]]>*/
</script>

1 个答案:

答案 0 :(得分:0)

如果您正在使用模块,则应将模型路径添加到链接

  $myLink = Yii::app()->getBaseUrl(true) . 
         '/index.php/moduleName/myController/insertProgress';

<?php
    echo CHtml::ajaxSubmitButton('Insert',   
       $myLink, array(
     'type' => 'POST',
     'success' => 'js:function(){
           alert("success");
           }',
     'data' => array(
           'progress' => 'js:$("#progress").val()',
            ),
      )
   );                    
?>