Yii Framework Forum: Renderizar texto vía AJAX - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Renderizar texto vía AJAX Rate Topic: -----

#1 User is offline   Luciano 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 133
  • Joined: 20-September 09
  • Location:Buenos Aires, Argentina

Posted 19 May 2010 - 05:02 PM

Hola, gente!
Resulta que estoy creando una aplicación con YII 1.1.2, usando el CGridView del crud.
El tema es el botoncito de DELETE vía AJAX.
Lo que sucede es que yo en el controlador necesito chequear si ese registro se puede eliminar o nó (depende de que tenga registros relacionados).
La comprobación la hace bien, no borra nada si no se puede. El tema es que quiero renderizar un texto avisando que no se puede borrar, o de última redireccionar la página, lo que sea...
No lo pude lograr...simplemente no hace nada. Muestra el preloader pero nada más...
Y viendo en el FIREBUG veo que efectivamente el texto se recibe.

Alguien sabe cómo hacer ésto??? Me estoy bloqueando mal...

Graciaaaas!
Company web site: pressEnter
Development using free software.
0

#2 User is offline   Jack Fiallos 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 256
  • Joined: 15-October 09
  • Location:Mexico

Posted 19 May 2010 - 05:40 PM

Si entendi bien lo que necesitas en enviar un aviso de que si o no se puede eliminar el registro.. no se me ocurre nada mas facil por el momento.. y se que esto puede parece la solucion dificil.. pero igual es una idea para el repertorio..

Veamos: lo normal que hace el boton de eliminar registro es el codigo siguiente.. y que tal si envias excepciones ??

mm.. quizas en tu controller haces lo siguiente para probar

public function actionDelete()
{
	if(Yii::app()->request->isPostRequest)
	{
		//Prueba de Exception
		throw new CHttpException(304,'Not resolved');
	}
	else
		throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}


y en la vista escribes este codigo (en la columna de los botones, sobre la definicion del gridview)

array(
	'class'=>'CButtonColumn',
	'template' => '{eliminar}',
	'buttons' => array(
		'eliminar' => array(
			'label'=> 'Eliminar',
			'url' =>'Yii::app()->controller->createUrl("model/delete",array("id"=>$data->id,))',
			'click'=>"function() {
				if(!confirm('Eliminar registro?')) return false;
				$.fn.yiiGridView.update('yw0', {
					type:'POST',
					url:$(this).attr('href'),
					success:function(text) {
						$.fn.yiiGridView.update('yw0');
                                                alert(text);
					}
				});
				return false;
			}"
		)
	),
),

Celestic Dev Team
Yii Open Source Project Manager
0

#3 User is offline   Luciano 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 133
  • Joined: 20-September 09
  • Location:Buenos Aires, Argentina

Posted 19 May 2010 - 10:35 PM

Gracias, master!
El código (con algunos ajustes para que encaje en mi app) funcionó como se espera.
Calculo que con unos ajustes más debería poder adaptarse a lo que necesito.

Graciaaaas! :D
Company web site: pressEnter
Development using free software.
0

#4 User is offline   Jack Fiallos 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 256
  • Joined: 15-October 09
  • Location:Mexico

Posted 19 May 2010 - 11:01 PM

Genial, que buenovque te haya servido.. aunque sigo pensando que deberia haber otra manera con menos codigo para resolver este problema.. Quizas mas adelante a alguien se le ocurra algo mejor..

Saludos
Celestic Dev Team
Yii Open Source Project Manager
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users