Yii Framework Forum: Manejo de eventos con activeTextField - Yii Framework Forum

Jump to content

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

Manejo de eventos con activeTextField Rate Topic: -----

#1 User is offline   Juan Diego 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 22-July 09

Posted 22 July 2009 - 05:15 PM

Hola, estoy desarrollando una aplicación, en esta tengo un activeTextField el cual quiero que active una función que se encuentra en una clase del modelo, para activar el evento uso el siguiente código en la vista que se encarga de mostrar el activeTextField:

<div class="simple">
<?php echo CHtml::activeLabelEx($model,'IdUsuario'); ?>
<?php echo CHtml::activeTextField($model,'IdUsuario', array('onClick' => 'alert(1234)')); ?>
</div>
<div class="simple">
<?php echo CHtml::activeLabelEx($model,'TipoHoraLaboral'); ?>
<?php echo CHtml::activeDropDownList($model,'TipoHoraLaboral',TipoHoraLaboral::model()->TiposHoralaboral); ?>
</div>

Este despliega un mensaje para verificar que el evento esta funcionando correctamente, lo que no puedo hacer es llamar la función que se encuentra en la clase del modelo, porque no se como se llama desde el evento del activeTextField, alguien me podría ayudar con esto, o por lo menos facilitarme un ejemplo donde se haga algo parecido.
0

#2 User is offline   gus2009 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 25-June 09

Posted 23 July 2009 - 08:48 PM

Hola Juan Diego. Te saludo desde Argentina. Te
cuento que soy nuevo en este framework... soy usuario de cakephp, pero estoy estudiando este software.. por sus caracteristicas.
Una proposicion al problema que tienes... separa ambos mundos.. el lado cliente (el navegador) y el lado servidor (app yii con modelos, controladores y vistas).
El evento del campo de texto es un evento del DOM que se manipula con Javascript. Cuando atrapas el evento, deseas llamar una funcion .. que se encuentra del lado del servidor... inalcanzable desde javascript directamente.
La solucion es indirecta.. llamar al controlador del lado del server.. usando Ajax.. te propongo usar Jquery .. un framework javascript facil de usar. Recuerda que una funcion de algun modelo no es recomendable usarse en otra clase que no sea un controlador

Saludos,
Gustavo
0

#3 User is offline   gus2009 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 25-June 09

Posted 23 July 2009 - 09:23 PM

No viene mal un ejemplo sobre tu vista. ;D

<div class="simple">
<?php echo CHtml::activeLabelEx($model,'IdUsuario'); ?>
<?php echo CHtml::activeTextField($model,'IdUsuario', array('id' => 'idUsuario')); ?>
</div>
<div class="simple">
<?php echo CHtml::activeLabelEx($model,'TipoHoraLaboral'); ?>
<?php echo CHtml::activeDropDownList($model,'TipoHoraLaboral',TipoHoraLaboral::model()->TiposHoralaboral); ?>
</div>
<?php
$jsCode = $jsCode = <<<FIN
/** Se necesita Jquery >=1.3 */
function ajaxLLamarFuncController() {
//hacemos llamada Ajax
//hacemos algo con el resultado.. un autocomplete del campo de texto?? :-)
}

//Esto se ejecuta cuando se carga el DOM
$(document).ready(function(){ $('#idUsuario').click(function(){ ajaxLLamarFuncController(); }) }); //ADICIONAMOS EVENTO CLICK A CAMPO DE TEXTO

FIN;

?>

Saludos!
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