Foros del Web » Programando para Internet » Javascript »

Como saco el value de este select???

Estas en el tema de Como saco el value de este select??? en el foro de Javascript en Foros del Web. Hola a todos..... me podrian ayudar con esto??? El problema es que tengo un select que lo lleno de una base de datos......y tengo dos ...
  #1 (permalink)  
Antiguo 20/10/2003, 11:36
Avatar de McManaman  
Fecha de Ingreso: agosto-2003
Ubicación: Ecuador - Guayaquil
Mensajes: 119
Antigüedad: 20 años, 8 meses
Puntos: 0
Como saco el value de este select???

Hola a todos..... me podrian ayudar con esto???

El problema es que tengo un select que lo lleno de una base de datos......y tengo dos botones... uno para agregar y otro para quitar..... al presionar el boton de agregar lo que hago es pasar el dato que esta en un select a otro select.....el fin de esto es que en un select me cargar todas las materias y al presionar el boton de agregar paso las materias que quiero al otro select y mandar estas a grabar en una base de dato....pero en el URL no aparece las materias que he agregado .... como podria hacer para poder mandar esas materias agregadas a otra pagina para poder jhacer el INSERT????

Gracias

<html>
<head>
<script language="JavaScript" src="script.js"></script>
<script language="JavaScript" src="filterlist.js"></script>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body background="Globe.gif" onLoad="cargar_profesor();">
<div align="center">
<form name="form1" method="get" >

<table width="404" height="106" border="0" align="center">
<tr>
<td height="31"><strong>ESCUELA DE:</strong></td>
<td>
<?php
// ESTA RUTINA EN PHP ES PARA CARGAR DE LA BASE DE DATOS,

include("lib.php");
conectar();

$result2 = mysql_query("SELECT * FROM escuela");

if ($myrow2 = mysql_fetch_array($result2)) {

echo " <SELECT name='cliorigen2' id='cliorigen2' onchange='poner2();'> \n";

do {
?>
<option value="<? echo $myrow2[0]; ?>"> <? echo $myrow2[1]; ?>
<?
echo "</option>\n";
} while ($myrow2 = mysql_fetch_array($result2));



} else {

echo "No hay registros en la Base de Datos!";

}

?>
</td>
</tr>
<tr>
<td height="32"><strong>NOMBRE:</strong></td>
<td><input name="nombre" type="text" id="nombre" size="50" disabled></td>

</tr>
<tr>
<td width="134"><strong>APELLIDO:</strong></td>
<td width="260"><input name="apellido" type="text" id="apellido" size="50" disabled></td>
</tr>
</table>
<input name="band" type="hidden" id="band" value="<? echo $_GET[cliorigen2] ?>">
<br>
<table width="311" border="0" align="center">
<tr>
<td width="128" height="142"> <div align="center">
<?php
// ESTA RUTINA EN PHP ES PARA CARGAR DE LA BASE DE DATOS, LA LISTA CON LOS NOMBRES DE TODOS LOS CLIENTES
$cod_escuela=$_GET["cliorigen2"];
$result = mysql_query("SELECT materia FROM materia WHERE id_escuela='$cod_escuela'");

if ($myrow = mysql_fetch_array($result)) {

echo " <SELECT size=7 name=cliorigen > \n";

do {
?>
<option value="<? echo $myrow[0]; ?>"> <? echo $myrow[0]; ?>
<?
echo "</option>\n";
} while ($myrow = mysql_fetch_array($result));



} else {

echo "NO HAY MATERIAS EN ESTA ESCUELA!";

}

?>
</div></td>
<td width="45"><table width="45" height="81" border="0">
<tr>
<td width="33"> <div align="center">
<input name="agregar" type="button" disabled accesskey="x" id="agregar" value=" --&gt; " onClick="ad();" >
</div></td>
</tr>
<tr>
<td> <div align="center">
<input name="quitar" type="button" disabled accesskey="z" id="quitar" value=" &lt;-- " onClick="quit();">
</div></td>
</tr>
</table>
<div align="center"></div>
<div align="center"></div>
<div align="center"></div>
<div align="center"></div></td>
<td width="124"><div align="center">
EN ESTE SELECT ES DONDE NO SE COMO HACER PARA SACAR LOS VALUE DE LOS DATOS INGRESADOS
<select name="clidestino" size="7" id="clidestino">
</select>

</div></td>
</tr>
</table>
<input name="band2" type="hidden" id="band2" value="<? echo $_GET["flag"] ?>">
<br>
<table width="244" border="0">
<tr>
<td width="76"><div align="center">
<input type="button" name="Submit" value=" GRABAR " onClick="grabar_profesor();">
</div></td>
<td width="83"><div align="center">
<input type="reset" name="Submit5" value="CANCELAR">
</div></td>
</tr>
</table>

</form>
<p>&nbsp;</p>
</div>
</body>
</html>
__________________
...Hay unos que saben TODO de nada y otros que saben NADA de TODO... think about it
  #2 (permalink)  
Antiguo 20/10/2003, 13:31
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 21 años
Puntos: 2
Código PHP:
$var1 $_GET['clidestino'];

echo 
$var1
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 20/10/2003, 13:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El problema es que el navegador solo manda los contenidos de los select que esten seleccionados. Y en este caso no esta seleccionado ninguno.

De principio tendrias que marca ese select como multiple y ponerle como nombre "clidestino[]" con los [] para que PHP lo recoga como array:

<select name="clidestino[]" size="7" id="clidestino" multiple>
</select>

Y ahora en la funcion que haga el submit, debes hacer un javascript que marque como seleccionado todo el contenido de ese select (supongo que con el id en lugar que con el name). O quizas lo puedas ir seleccionando a la vez que lo añades.

Pero todo es con javascript. PHP no tiene control sobre lo que pasa en el navegador.

Otra forma es crear un campo oculto donde pases el contenido del select en forma de cadena. Ese campo hidden lo rellenarias con javascript.

Asi que como toda solucion apunta a javascript, alli te mando.

Saludos desde PHP.

PD: Con esto tendrias ya el contenido del select en un array en la pagina destino PHP. El insert seria otra cosa.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 20/10/2003 a las 13:42
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:55.