Foros del Web » Programando para Internet » Javascript »

Enviar variable en javascript.

Estas en el tema de Enviar variable en javascript. en el foro de Javascript en Foros del Web. Hola, creo que esto debería de ponerse aquí, ya que el fallo creo que es del script, el problema que tengo es que si la ...
  #1 (permalink)  
Antiguo 27/08/2010, 08:34
 
Fecha de Ingreso: enero-2010
Mensajes: 46
Antigüedad: 14 años, 3 meses
Puntos: 0
Enviar variable en javascript.

Hola, creo que esto debería de ponerse aquí, ya que el fallo creo que es del script, el problema que tengo es que si la tabla contiene 3 usuarios, el primero de ellos hace bien el código y se lleva la variable cif por url que se trae de la bd, en cambio a partir de ese usuario,no se realiza la acción y salta el mensaje de alerta del java.

Además de esto el primero al llevarse la variable cuando la intento recoger:
Código PHP:
$cifcontr=$_GET['cif']; 
no me da ningun valor y no es problema de nada de la bd, porque si en la consulta le sustituyo
Código PHP:
WHERE=$cifcontr 
por
Código PHP:
WHERE=121212 
, me lo hace siempre y cuando esté en la mysql.

Código PHP:
while($resultados mysql_fetch_array($usuario_consulta)) {

echo 
"
<html>
<head>
<script language='javascript'>

function redireccion (pagina,cif) {

  var opc = document.getElementById('aa').options[document.getElementById('aa').selectedIndex].value;

  var ver = 'NULL';

  if (opc == '1')

      ver = 'busquedacontratoind';

  else if (opc == '2')

      ver = 'creacontrato/creacontrato';

  else if (opc == '3')

      ver = 'form';

  else if (opc == '4')

      ver = 'form/creaparte';

  else

      alert(opc);

  

  var url = pagina+'?ver='+ver+'&accion=cif&cif='+cif;

  
  if (ver == 'busquedacontratoind')

    document.location.href = url;

  else if (ver == 'creacontrato/creacontrato')

    document.location.href = url;

  else if (ver == 'busquedaparte')

    document.location.href = url;

  else if (ver == 'form/creaparte')

    document.location.href = url;

  else

    return false;

}

</script>

</head>

<body>

<!-- Tu código comienza aquí -->

<tr>

    <td width='14%' bgcolor='#FFFFEA'>

      <div align='center'>

        <font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#000000'>"
.$resultados['ID']."</font>

      </div>

    </td>

    <td width='30%' bgcolor='#FFFFEA'>

      <div align='center'>

        <font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#000000'>"
.$resultados['nombre']."</font>

      </div>

    </td>

    <td width='32%' bgcolor='#CCFFCC'> 

      <div align='center'>

        <a href='"
.$pag."?ver=".$redir."&accion=borrar&id=".$resultados['ID']."'>

          <font face='Verdana, Arial, Helvetica, sans-serif' size='2'>Borrar</font>

        </a>

      </div>

    </td>

    <td width='30%'>

      <form action='"
.$_SERVER['PHP_SELF']."' method='POST' name='formulario'>

        <select name='aa' id='aa' onChange='redireccion(\""
.$pag."\",\"".$resultados['usuario']."\")'>

          <option value='' selected='selected'></option>

          <option value='1' >Ver contrato</option>

          <option value='2' >Crear Contrato</option>

          <option value='3' >Ver parte de trabajo</option>

          <option value='4' >Crear parte de trabajo</option>

        </select>

      </form>

    </td>

  </tr>

<!-- Tu código finaliza aquí -->

</body>

</html>"
;


Un saludo y gracias por todo!
  #2 (permalink)  
Antiguo 27/08/2010, 13:19
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Enviar variable en javascript.

Hola

En principio no he entendido gran cosa.
Veamos ¿como dices que con WHERE=$cifcontr no te funciona y con WHERE=121212 si? No puede funcionarte con ninguno, puesto que no estás enfrentando a ese valor con ningún campo
Cita:
, me lo hace siempre y cuando esté en la mysql.
¿Qué quieres decir con eso? El código que se genera es repetitivo. Escribes una y otra vez las cabeceras, la función, el cuerpo y el footer
Lo primero que ha de hacer es mirar el HTML que se genera en esta línea
Código HTML:
Ver original
  1. onChange='redireccion(\"".$pag."\",\"".$resultados['usuario']."\")'>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 27/08/2010, 18:51
 
Fecha de Ingreso: enero-2010
Mensajes: 46
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Enviar variable en javascript.

Perdón te copio el codigo y te explico:
Código PHP:
<?php
while($resultados mysql_fetch_array($usuario_consulta)) {

echo 
"
<html>
<head>
<script language='javascript'>
function redireccion (pagina,cif) {

  var opc = document.getElementById('aa').options[document.getElementById('aa').selectedIndex].value;
  var ver = 'NULL';
 


  if (opc == '1')
      ver = 'busquedacontratoind';
  else if (opc == '2')
      ver = 'creacontrato/creacontrato';
  else if (opc == '3')
      ver = 'form';
  else if (opc == '4')
      ver = 'form/creaparte';
  else
      alert(opc);
  
  var url = pagina+'?ver='+ver+'&accion=cif&cif='+cif;
  
  if (ver == 'busquedacontratoind')
    document.location.href = url;
  else if (ver == 'creacontrato/creacontrato')
    document.location.href = url;
  else if (ver == 'busquedaparte')
    document.location.href = url;
  else if (ver == 'form/creaparte')
    document.location.href = url;
  else
    return false;
}
</script>
</head>
<body>
<!-- Tu código comienza aquí -->
<tr>
    <td width='14%' bgcolor='#FFFFEA'>
      <div align='center'>
        <font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#000000'>"
.$resultados['ID']."</font>
      </div>
    </td>
    <td width='30%' bgcolor='#FFFFEA'>
      <div align='center'>
        <font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#000000'>"
.$resultados['nombre']."</font>
      </div>
    </td>
    <td width='32%' bgcolor='#CCFFCC'> 
      <div align='center'>
        <a href='"
.$pag."?ver=".$redir."&accion=borrar&id=".$resultados['ID']."'>
          <font face='Verdana, Arial, Helvetica, sans-serif' size='2'>Borrar</font>
        </a>
      </div>
    </td>
    <td width='30%'>
      <form action='"
.$_SERVER['PHP_SELF']."' method='POST' name='formulario'>
        <select name='aa' id='aa' onChange='redireccion(\""
.$pag."\",\"".$resultados['usuario']."\")'>
          <option value='' selected='selected'></option>
          <option value='1' >Ver contrato</option>
          <option value='2' >Crear Contrato</option>
          <option value='3' >Ver parte de trabajo</option>
          <option value='4' >Crear parte de trabajo</option>
        </select>
      </form>
    </td>
  </tr>
<!-- Tu código finaliza aquí -->
</body>
</html>"
;
}


echo 
"</table>";

mysql_free_result($usuario_consulta);
mysql_close();
}
-Mi problema viene en el select que a partir del primer usuario("sin incluir este"), no me realiza la acción:
Código PHP:
  var url pagina+'?ver='+ver+'&accion=cif&cif='+cif
y me lleva al alert de la función redireccion, en cambio el primer usuario del select si realiza esta redireccion.

-Otro punto es que este primer usuario si me realiza la acción pero no me devuelve valor al recoger la variable por url mediante $_GET, la dirección queda así:
Código PHP:
http://127.0.0.1/pag1_restringido.php?ver=busquedacontratoind&accion=cif&cif=PEDRO 
y la recojo $cifcontr=$_GET['cif']; y luego la imprimo y no me devuelve valor.


-Espero que con esto te quede un poco más claro, ya que no logro encontrar la solución.

Muchisimas gracias por tu ayuda.
  #4 (permalink)  
Antiguo 30/08/2010, 06:48
 
Fecha de Ingreso: enero-2010
Mensajes: 46
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Enviar variable en javascript.

Subo el tema gente!. Un saludo
  #5 (permalink)  
Antiguo 30/08/2010, 07:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Enviar variable en javascript.

Hola

Te repito lo mismo. Estás repitiendo todo una vez otra. Estás repitiendo el id el select. Corrige eso. Si la razón por la que no lo corriges es que crees que no podrás referenciar una opción de un select en particular, no hay punto, con esto puedes hacerlo
Cita:
onChange='redireccion(this.selectedIndex, \"".$pag."\",\"".$resultados['usuario']."\")'
Partamos de ahí y luego ya veremos

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 31/08/2010, 16:02
 
Fecha de Ingreso: enero-2010
Mensajes: 46
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Enviar variable en javascript.

Hola Adler, muchas gracias por tu colaboración, pero no logro entenderte muy bien, al poner en mi código esto que tu mencionas,
Código PHP:
onChange='redireccion(this.selectedIndex, \"".$pag."\",\"".$resultados['usuario']."\")' 
me redirecciona a http://127.0.0.1/1?ver=busquedacontr...estringido.php
y esto no me vale. Puedes explicarme un poco.

Gracias por todo y un saludo.


PD: Mi finalidad es que el select te redireccione, pero que además inserte la variable cif por url para recoger por GET en otro php, espero que me entiendas.
  #7 (permalink)  
Antiguo 31/08/2010, 16:16
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Enviar variable en javascript.

Hola

A ver si esto resuelve el problema
Código Javascript:
Ver original
  1. function redireccion (opc, pagina,cif) {
  2.   if (opc == 1)
  3.       ver = 'busquedacontratoind';
  4.   else if (opc == 2)
  5.       ver = 'creacontrato/creacontrato';
  6.   else if (opc == 3)
  7.       ver = 'form';
  8.   else if (opc == 4)
  9.       ver = 'form/creaparte';
  10.   else
  11.       alert(opc);
  12.  
  13. ......
Si esto no lo resuelve .... yo no se lo que trae la variable pag ni el registro usuario, así que no se que url ha de formarse

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: enviar, variables
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 20:53.