Ayuda con CJuiDialog

Hola… estoy tratando de hecer es que cuando de clic en el link Nuevo Empleado este abra un CJuiDialog que muestre el formulario con los empleado/create,

el codigo que use es el siguiente:

$this->beginWidget('zii.widgets.jui.CJuiDialog',array(


			'id'=>'mydialog',


			//additional javascript options for the dialog plugin


			'options'=>array(


				'title'=>'Nuevo Empleado',


				'autoOpen'=>false,


				'modal'=>true,


				


			),


		));


	echo $this->renderPartial('/controlAns/create',array('model'=>$model));


	$this->endWidget('zii.widgets.jui.CJuiDialog');


	


	//El link para que se pueda abrir el dialogo


	echo CHtml::link('Nuevo Empleado', '#', array(


		'onclick'=>'$("#mydialog").dialog("open"); return false;',


	));


	?>

Lo que pasa es que cuando doy crear control ans el formulario se me repite varias veces.

Adjunto las imgenes de los erroes que me muestra … y lo que mas o menos quiero que muestre :)

Si algien me puede colaborar se lo agradeceria mucho

has mirado

http://www.yiiframework.com/wiki/145/cjuidialog-for-create-new-model/

http://www.yiiframework.com/wiki/72/cjuidialog-and-ajaxsubmitbutton/

http://www.yiiframework.com/forum/index.php?/topic/16617-question-on-cjuidialog-for-create-new-model-tutorial/

?

Hola… Horacio mil gracias por tu orientación me fue de gran ayuda, realmente estoy aprendiendo de la forma de ensayo y error :)

Para los que son nuevos como yo y quieran hacer algo parecido, aquí les dejo algo que espero que les sirva :)

En controlador de la tabla que deseamos mostrar en CJuiDialog en la función del create lo modificamos para que quede asi:




public function actionCreate()

	{

		$model=new Empleado;


		// Uncomment the following line if AJAX validation is needed

		// $this->performAjaxValidation($model);


		if(isset($_POST['Empleado']))

		{

			$model->attributes=$_POST['Empleado'];

			if($model->save())

			{

                if (Yii::app()->request->isAjaxRequest)

                {

                    echo CJSON::encode(array(

                        'status'=>'success', 

                        'div'=>"Se agrego empleado con exito."

                        ));

                    exit;               

                }

                else

                    $this->redirect(array('view','id'=>$model->id));

            }

        }

 

        if (Yii::app()->request->isAjaxRequest)

        {

            echo CJSON::encode(array(

                'status'=>'failure', 

                'div'=>$this->renderPartial('_form', array('model'=>$model), true)));

            exit;               

        }

        else

            $this->render('create',array('model'=>$model,));

    }



Y en formulario que deseamos cargar el CJuiDialog agregamos este código




		<?php echo CHtml::link('Crear Empleado', "",  // Link para abrir le Dialog 

    array(

        'style'=>'cursor: pointer; text-decoration: underline;',

        'onclick'=>"{addEmpleado(); $('#dialogEmpleado').dialog('open');}"));?>

 

<?php

$this->beginWidget('zii.widgets.jui.CJuiDialog', array( // El dialog

    'id'=>'dialogEmpleado',

    'options'=>array(

        'title'=>'Crear Empleado',

        'autoOpen'=>false,

        'modal'=>true,

        'width'=>550,

        'height'=>470,

    ),

));?>

<div class="divForForm"></div>

 

<?php $this->endWidget();?>

 

<script type="text/javascript">


function addEmpleado()

{

    <?php echo CHtml::ajax(array(

            'url'=>array('/empleado/create'),

            'data'=> "js:$(this).serialize()",

            'type'=>'post',

            'dataType'=>'json',

            'success'=>"function(data)

            {

                if (data.status == 'failure')

                {

                    $('#dialogEmpleado div.divForForm').html(data.div);

                          // Here is the trick: on submit-> once again this function!

                    $('#dialogEmpleado div.divForForm form').submit(addEmpleado);

                }

                else

                {

                    $('#dialogEmpleado div.divForForm').html(data.div);

                    setTimeout(\"$('#dialogEmpleado').dialog('close') \",3000);

                }

 

            } ",

            ))?>;

    return false; 

 

}



Eso es todo espero que le sirva…