PHP - No se ejecuta funcion en javascript

   
Vista:

No se ejecuta funcion en javascript

Publicado por Rene (9 intervenciones) el 17/02/2014 21:59:39
Hola gente,

Tengo un problema que no logro resolver, ya busque por distintos lugares, pero no encuentro la solucion.
Agradecere cualquier ayuda.

Trabajo con PHP y Codeigniter, en una "vista", esta la presentacion, la primera vez que se carga, la funcion javascript puede comprobar que se ejecuta y muestra "MODO 1", pero cuando recargo la pagina (llamandola desde el controlador), no se ejecuta la funcion "mostrarerror", sin embargo si sigo el codigo con firebug, puedo ver que
la variable "modo" es igual a 2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</head>
<body onLoad="mostrarError()">
 
   <script type="text/javascript">
         function mostrarError()
        {
           var modo= <?php $modo=isset($modo)?$modo:"1"; echo $modo;?>;
 
           if (modo==2){
               alert("MODO 2");
           }else{
               alert("MODO 1");
           }
      }
</script>

Y este es un fragmento del codigo del controlador que vuelve a cargar la vista:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 // Graba un item de factura
    public function graba()
    {
       $datos = explode(",",$_POST['datos']);
 
       list($idart, $descri, $canti) = $datos;
        $data['idarti']=$idart;
        $data['cant1'] =$canti;
        $data['precio']=$precio;
        $result=$this->ventas->graba_lineas($data);
 
        if ($result['huboerror']==false){
            redirect("ventas/nuevo_c");
        }else{
 
              $data['title']="Carga";
 
              $data['modo']="2";
              $data['menserror']=$result['menserror'];
 
              $this->load->view('template/header',$data);
              $this->load->view('ventas/VentasC',$data);
              $this->load->view('template/footer');
        }
 
    }

Agradezco alguna cualquier ayuda desde ya !
Rene
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

No se ejecuta funcion en javascript

Publicado por xve (5523 intervenciones) el 18/02/2014 08:10:05
Hola Rene, creo que en esta linea puede estar el error:
1
var modo= <?php $modo=isset($modo)?$modo:"1"; echo $modo;?>;
Ahi estas asignando $modo a isset($modo)... creo que tendria que ser:
1
var modo= <?php $modo==isset($modo)?$modo:"1"; echo $modo;?>;

Si nos puedes comentar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No se ejecuta funcion en javascript

Publicado por Rene (9 intervenciones) el 20/02/2014 20:06:18
Hola xve

Gracias por responder!
del modo que tu me indicas me genera error.
Te comento y hago una consulta. Si corro firebug, cuando vuelvo a llamar a la vista, compruebo que modo=2, pero sigue sin ejecutarse la funcion mostrarerror().
Podria haber algun tipo de conflicto, al tener dos definiciones como esta:

<script type="text/javascript">
---aqui cargo la libreria flexigrid.js
-- algunas validaciones
</script>

<script type="text/javascript">
-- aqui defino la funcion mostrarerror()
</script>

Esta podria ser la causa del error?

Saludos !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

No se ejecuta funcion en javascript

Publicado por xve (5523 intervenciones) el 20/02/2014 20:50:29
Hola Rene, puedes especificar tantos <script> como desees sin ningún problema.

Una vez cargada la página, si haces ver código fuente, que valor te ha asignado a la veriable modo en el código de javascript?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No se ejecuta funcion en javascript

Publicado por Rene (9 intervenciones) el 24/02/2014 19:50:18
Hola xve,

Si hago un console.log(modo), la primera vez me muestra "1",
cuando vuelvo a cargar la vista, ya no se ejecuta.

Pero no te preocupes, voy a buscar otra manera, algo sucede que no entiendo, tal vez la librerias de codeigniter, no se.

Gracias por tu tiempo!

Saludos

Rene
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar