我有一个更新表单,在该表单中有一个表格,我想在填写几个字段后使用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>
答案 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()',
),
)
);
?>