Foros del Web » Programando para Internet » Javascript »

ejecutar funcion javascript incrustada en PHP

Estas en el tema de ejecutar funcion javascript incrustada en PHP en el foro de Javascript en Foros del Web. Saludos: Mi problema es este: Tengo un formulario, el cual tiene un campo select, el cual muestra claves de distintos jardines de niños, las cuales ...
  #1 (permalink)  
Antiguo 23/05/2005, 18:32
 
Fecha de Ingreso: diciembre-2004
Mensajes: 6
Antigüedad: 19 años, 5 meses
Puntos: 0
ejecutar funcion javascript incrustada en PHP

Saludos:

Mi problema es este:

Tengo un formulario, el cual tiene un campo select, el cual muestra claves de distintos jardines de niños, las cuales fueron obtenidas mediante una consulta que se hizo con PHP y Mysql a una tabla que contenia esos datos.


Lo que necesito es que en el momento en que el usuario seleccione una clave, se muestre en el mismo formulario el turno y el nombre, segun la clave.

El nombre, la clave y el turno de los jardines de niños se encuentran en una tabla. Intenté cargar los valores de esos campos (turno, clave,nombre), en arreglos en javascript, lo cual si se pudo, de modo que cuando el usuario escogiera una clave, se ejecutara una funcion que recorreria el arreglo buscando la coincidencia de la clave y mostrara el turno y nombre.

Asi llevo el codigo:

$kinder="14EJN0085F";

$link = mysql_connect(localhost,root);
mysql_select_db(proyecto2,$link);
$sentenciaSQL="SELECT * FROM kinder where clave != '$kinder'";
$resultadoConsulta=mysql_query($sentenciaSQL,$link );

$i=-1;
while ($apartados = mysql_fetch_array($resultadoConsulta)){
$i++;
$clave=$apartados['clave'];
$turno=$apartados['turno'];
$nombre=$apartados['nombre'];
}
echo '<script languaje="JavaScript">

var i="'.$i.'";
var clave= new Array();
var turno= new Array();
var nombre= new Array();

var clave2 ="14EJN0088C";
clave[i]="'.$clave.'";
turno[i]="'.$turno.'";
nombre[i]="'.$nombre.'";

function muestrac(clave2){
for (var j=0;j<clave.length;j++){
if(clave[j]==clave2){
//utilizamos alert para probar que si busca
alert(nombre[j],turno[j]);
}
}
}
</script>';
?>

y la persiana que muestra los datos obtenidos de la consulta es asi:

</select>
</span></td>
<td><span class="style2">TURNO:</span></td>
<td><span class="style2">NOMBRE:</span></td>
</tr>
<tr bgcolor="#CCCC99">
<td><span class="style2">CLAVE:<select name="clave2">
<option value="0" selected> <? printf("-- Escoge una --"); ?></option>
<?php
$result3 = mysql_query("SELECT * FROM kinder where clave != '$kinder'",$link);
while($row3 = mysql_fetch_array($result3)){
?>
<option value="<?php echo $row3['clave']; ?>"><?php printf("%s",$row3['clave']); ?></option>
<?php
};

?>
</select>

Mi pregunta y mi problema es:

¿Como puedo mandar ejecutar la funcion javascript, para que al momento que el usuario seleccione una clave, automaticamente despliegue el turno y el nombre?

Agradeceria mucho su ayuda.
  #2 (permalink)  
Antiguo 24/05/2005, 04:53
 
Fecha de Ingreso: abril-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 1
Hola alexbn!!!

Intenta con esto:

En el formulario, cuando declaras el select para los códigos, pon esto:
Código HTML:
<select name="cmbCodigo" onchange="muestrac();">
   <option value="codigoJardin0">Codigo jardin 0</option>
   <option value="codigoJardin1">Codigo Jardin 1</option>
   <option value="codigoJardin2">Codigo Jardin 2</option>
   ...
   <option value="codigoJardinN">Codigo Jardin n</option>
</select> 
Luego, en la función que has creado tienes que cambiar algunar cosillas...
Código PHP:

function muestrac(){
   var 
clave2 document.nombreFormulario.cmbCodigo.selectedIndex;
   for (var 
j=0;j<clave.length;j++){
      if(
clave[j]==clave2){
          
//utilizamos alert para probar que si busca
          
document.nombreFormulario.txtNombreJardin.value nombre[j];
          
document.nombreFormulario.txtTurno.value turno[j];
      }
   }

Espero que te ayude, ¡¡suerte!!
__________________
sometimes, I feel I should go and play with the thunder
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 17:32.