• Sábado 18 de Mayo de 2024, 22:09

Autor Tema:  Problema al hacer echo una función JavaScript  (Leído 2461 veces)

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Problema al hacer echo una función JavaScript
« en: Lunes 3 de Noviembre de 2008, 20:21 »
0
Hola de nuevo, voy progresando en el proyecto que estoy llevando a cabo, el tema del paso de arrays del otro hilo, solucionado^^ gracias

Pero he ahí que surgen nuevos retos, primero os planteo el problema:

tengo una función que busca una serie de items en una BD, si por algún casual un campo cumple con un valor determinado dibujo un checkbnox en estado checked.
La idea es que pulsando un checkbox al final del formulario compruebe los checked por si alguno se ha deschekeado por el usuario, en ese momento llamo a una función en JS para que lo compruebe. Luego si todo sale bien tengo que idear la forma de que ese array de checkbox le llegue a otra funcion en php que es la que se encarga de hacer cosas con los items que han quedado definitivamente marcados.

El problema es que interprete la función en Js, no porque tenga ningún misterio, ya que solo hay que recorrer los checkbox que el js mete en un array por si mismo.
El problema es que no se hacer bien el echo, es decir o escribe literalmente formulario.nombre_del_checkbox[0].value o bien declara formulario.0.value  

aqui os pongo el codigo

Código: Text
  1.  
  2. $aa=STK_VALBFACT // esta definida en otra parte es un string que utilizo para darle el name al checkbox de forma que compartan nombre
  3.  
  4. echo"<script language="javascript" type="text/javascript">
  5. <!--
  6. function comprobar ()
  7. {
  8. alert (albfacts.$aa.[0].value);//albfacts es el nombre del formulario// de momento pruebo con el valor [0], deveria sacar el 1º value del array de checkbox
  9. }
  10. -->
  11. </script>";
  12.  
  13.  

asi cuando le doy a ver codigo fuente aparece esto:
Citar
<script language="javascript" type="text/javascript">
   <!--
   function comprobar()
   {
      alert(albfacts.ArrayAlbaranFactura.[0].value);
   }
   //-->
   </script>
Sin embargo si cambio la linea del alert por esto:
Código: Text
  1.  
  2. alert (albfacts.$aa[0].value); // sin el punto
  3.  
  4.  

El codigo fuente muestra:

Citar
<script language="javascript" type="text/javascript">
   <!--
   function comprobar()
   {
      alert(albfacts.A.value);
   }
   //-->
   </script>

Esa A es porque todos los values empiezan por A

si lo entrecomillo en el alert sale literalmente el comando.

No sé que hacer....

Muchas gracias por vuestra paciencia y vuestro tiempo.
Un saludo ^^


shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Problema al hacer echo una función JavaScript
« Respuesta #1 en: Martes 4 de Noviembre de 2008, 15:05 »
0
Hola de nuevo.

Intenta haciendo esto:
Código: PHP
  1. $aa=STK_VALBFACT
  2.  
  3. echo"<script language="javascript" type="text/javascript">
  4. <!--
  5. function comprobar ()
  6. {
  7.  alert (albfacts." . $aa . "[0].value); // Haciéndolo así le dices a PHP que lea la variable $aa y que no trate de interpretar $aa[0]
  8. }
  9. -->
  10. </script>";
  11.  

Nos cuentas como te va

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Problema al hacer echo una función JavaScript
« Respuesta #2 en: Martes 4 de Noviembre de 2008, 18:32 »
0
Sii funciona, muchas gracias ^^
al final lo  habia puesto "a piñon fijo", no es que cambie el contenido de la variable, todo lo contrario, pero asi queda más versatil, ahora me queda pasar el array generado en ese js a php

Código: Text
  1. echo "<script language="javascript" type="text/javascript">
  2.     <!--
  3.     function comprobar()
  4.     {
  5.         var c;
  6.         var auxjs= new Array();
  7.         for(c=0;c<=albfacts.ArrayAlbaranFactura.length;c++)
  8.         {
  9.             if(albfacts.ArrayAlbaranFactura[c].checked)
  10.             {
  11.                
  12.                 auxjs[c]=albfacts." . $aa . "[0].value;
  13.                 //alert(auxjs[c]);
  14.            
  15.             }
  16.         }
  17.                
  18.     }
  19.     //-->
  20.     </script>n";
  21.  

Ahi dejo eso por si a alguien le sirve como ejemplo de manejo de un array de checkbox ; )
Resumiendo: si un checkbox esta checkeado incluye su valor en un array.

Para el tema de pasar el array resultante en javascript a php estoy mirando esto http://www.json.org/ y http://es.php.net/manual/es/book.json.php pero no me entero muy bien, a ver si busco algo mas de información o busco otra forma... a ser posible sin necesitar un envio a otra página...

Gracias de nuevo