Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

problema con js en CakePhp

Estas en el tema de problema con js en CakePhp en el foro de Frameworks y PHP orientado a objetos en Foros del Web. estoy intentando enviar 3 variables, pero me indica que mi seguna variable no esta definida, pero si me arroja un valor, la 2da variable tiene ...
  #1 (permalink)  
Antiguo 20/08/2013, 16:37
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Exclamación problema con js en CakePhp

estoy intentando enviar 3 variables, pero me indica que mi seguna variable no esta definida, pero si me arroja un valor, la 2da variable tiene el valor de cafe.
Aqui el envio de la variable:
Código PHP:
<tr>
                    <td>
                        <?php
                            
//pr($periodo);
                            
echo $form->input('periodo',array('label'=>'Año ','empty'=>'Selecciona el Año','type'=>'select','options'=>$periodo,'onChange'=>'ajax_provincia2(this.value,'.$locati.');'));
                        
?>
                    </td>
                </tr>
aqui el js que lo recibe:
Código:
function ajax_provincia2(per,culti,locati)
{
     location.href = "XXXX/periodo:" + per+"/culti:"+culti+"/locati:"+locati+"/module:Clima"; 
}
y este es el error que me indica firebug:
Cita:
ReferenceError: cafe is not defined

ajax_provincia2(this.value,cafe,1366);
no entiendo que es lo que estaria mal.
gracias de antemano por la ayuda.
  #2 (permalink)  
Antiguo 22/08/2013, 08:34
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 12 años, 2 meses
Puntos: 5
Respuesta: problema con js en CakePhp

Que tal, porque mandas dos parámetros y recibes tres?

desde tu php:
Código PHP:
.... 'onChange'=>'ajax_provincia2(this.value,'.$locati.'); ....' 
y para tu JS:
Código:
... function ajax_provincia2( per, culti, locati).....
si les haces el window.alert dentro de tu js a los tres parámetros, todos imprimen un valor?

puede que por ahí encuentres algo.
  #3 (permalink)  
Antiguo 22/08/2013, 14:26
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: problema con js en CakePhp

deje esa estructura, xq ahi si ejecuta el js sin error pero si pongo los 3 valores:
Cita:
.... 'onChange'=>'ajax_provincia2(this.value,'.$culti.' ,'.$locati.'); ....'
me da el error que indique. como dije si toma el valor, ya que en firebug, los valores que arroja son:
Cita:
this.value,cafe,1366
  #4 (permalink)  
Antiguo 22/08/2013, 15:24
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 12 años, 2 meses
Puntos: 5
Respuesta: problema con js en CakePhp

Entonces el problema es el pasar los parémetros desde cakephp hacia javascript ? de ser así, lo haces correctamente,

Ahora queda que el problema está en el JS hay sería revísar sólo la función js.

Algunas ocasiones me funciona que desde cakephp mando los parámetros que quiero y desde mi función JS hago window.alert() de c/u de los parámetros mándale 3 parámetros cualquiera, si puedes imprimirlos desde el js significa que los estas mandando bien, ahora mándale parámetros correctos que conozcas, y si puedes imprimirlos tu función esta lista para recibir cualquier parámetro de ese tipo.

Ya que aseguraste los parámetros, entonces será problema del JS no de cakephp, por ejemplo pones

this.value y veo que en tu función al menos por lo que pones no llega un valor, llega el mismo this.value
  #5 (permalink)  
Antiguo 22/08/2013, 16:21
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: problema con js en CakePhp

bueno, el firebug me indica el this.value, pero en el js, si recepciona el valor; por lo que pude ver el proble seria que $culti; tiene el valor de "cafe"; entonces el javascript lo toma como si fuera un elemento del formulario y lo busca, al no encontrarlo me arroja ese error.
Lo que hice para solucionar es crear un input tipo hidden donde almaceno el valor de $culti; y luego al momento de enviar la varibable hago instancia al input oculto "culti.value"; de esa manera funciona normal.
Gracias por la ayuda.

Etiquetas: cakephp, js, php, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:02.