Yii中的ajaxOnValidation和ajaxSubmitButton不能一起工作

时间:2012-01-26 12:29:09

标签: php jquery jquery-ui yii

我在Yii上的iframe中显示了一个jQuery对话框弹出窗体。如果表单验证,则需要保存并关闭,否则需要显示错误。但是,当validateOnChange工作时,validateOnSubmit没有 - 单击submit只返回视图的输出,而不是错误(或空数组)。我不确定从哪里开始修复它。

我在beginWidget()电话中有以下选项:

'enableAjaxValidation'=>true,
'clientOptions' => array(
    'validateOnSubmit'=>true,
    'validateOnChange'=>true,
    'validateOnType'=>false,
),

我正在使用此代码生成按钮:

CHtml::ajaxSubmitButton('Submit', 'enter', array('success' => 'afterValidate()'));

我发现其他一些链接正在讨论这两个选项在Yii ajaxSubmitButton() with fields validation和{}不合作的问题 http://code.google.com/p/yii/issues/detail?id=2008。但是,我不知道如何处理上一个链接中建议的修复:

function afterValidate(form, data, hasError){
  if (!hasError) {
    $.ajax({
        url: '{$postUrl}',
        type: 'POST',
        dataType: 'json',
        data:jQuery(this).parents("form").serialize()
    })
    .done(function ( response ) {
      // my successhandler
    })
    .fail(function ( xhr, status ) {
      // my error handler
    });
    return false;
  }
}

正在调用回调函数,但无论数据是否有效,总是会失败。

那么,如何在Yii中实现jQuery对话框?

0 个答案:

没有答案