JavaScript - getElementById

   
Vista:

getElementById

Publicado por Tomas (4 intervenciones) el 04/12/2013 14:12:52
Hola

Tengo un código de PHP y Javascript

La funcion que debe realizar es mostrar una alerta cuando seleccione , de una lista de selección , un vehículo , y ese vehículo esté ya reservado para otro cliente , entre las fechas seleccionadas de salida y de entrada del vehículo (Empresa de alquiler de vehículos )

El código funciona para los vehículos reservados ( aún no me sale para seleccionar por fechas ) , cuando pongo el valor de la variable que representa al vehículo como un valor fijo ( var furgoneta= 'Marca-Modelo-123456';
Pero si trato de tomar el valor mediante var numero=document.getElementById('infovehiculo').value;
así no funciona

El código es muy largo , lo pongo abajo , por si queréis mirarlo
Si sabéis cuál es el fallo , por favor , comunicármelo
También si tenéis idea de como seleccionar los reservados , por fechas de salida y de entrada del vehículo

Gracias


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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
 
$sql= "SELECT vehiculo FROM facturas WHERE alquiler IN('Reservada')" ; .
$datos=mysql_query($sql) ;
$array=array();
while ($filas=mysql_fetch_array($datos)) {
    $array[]=$filas["vehiculo"]; //Sacamos el unico campo que hay
}
 
?>
<script type="text/javascript">
 
// var numero='Marca-Modelo-123456';     probando así , sí funciona todo el código 
 
  function arreglos(numero) {
    var arreglo = new Array();
 
    <?php
     for ($i = 0; $i < count($array); $i++){
    ?>
       arreglo[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";
    <?php
      }
    ?>
//var a = ['red', 'green', 'blue', 'yellow'];
    //*******************************************************
    for(i=0;i< arreglo.length;i++) {
 
    if(numero == arreglo[i]){
			alert("Encontrado el vehículo: "+numero+"\nEn la posicion: "+i);
	 }
    }
  }
</script>
</head>
<body>
 
<?php
$sql="select marcamodelomatricula FROM vehiculos ORDER BY marcamodelomatricula DESC";
$datos=mysql_query($sql); ?>
 
<form action="">
 <td>
 <select name="infovehiculo" id="infovehiculo" value="<?php echo $fila['marcamodelomatricula'];?>">
<option >Seleccione vehiculo</option>
<?php while($fila=mysql_fetch_array($datos)){?>
 
    <option><?php echo $fila['marcamodelomatricula'];?></option>
 <?php
	}
?>
</select>
 
<script type="text/javascript">
 
var numero=document.getElementById('infovehiculo').value;
</script>
<a href =javascript:; onclick="javascript:arreglos(numero)" > bbb</a>
</body>
</html>
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

getElementById

Publicado por xve (1594 intervenciones) el 04/12/2013 22:10:33
Hola Tomas, no puedes poner el tag value en un <select ...>

Si quieres dejar algo seleccionado en un <select>, tienes que hacerlo dentro del <option>.. algo así:

1
<option value="valor" selected>texto</option>

De este modo, te cogerá el valor de value de la opción seleccionado del option seleccionado (selected).

Coméntanos, ok?
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

getElementById

Publicado por Tomás (4 intervenciones) el 05/12/2013 03:44:44
Hola Xve

Gracias por la respuesta
Me parece que es un poco más complejo este tema de seleccionar un elemento de una lista desplegable

En este sitio viene una explicación , pero he estado probando y no sale
http://librosweb.es/javascript/capitulo_7/utilidades_basicas_para_formularios.html

Si tienes ganas , te pongo el código abajo para ver si encuentras el error

Gracias

------------------------------------

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<script type="text/javascript">
 
function arreglos() {
 
alert("Opción seleccionada: " + textoSeleccionado + "\n Valor de la opción: " + valorSeleccionado);
 }
</script>
 
 
</head>
 
<body>
 
 
<?php
$sql="select id_vehiculo , marcamodelomatricula FROM vehiculos ";
$datos=mysql_query($sql); ?>
<form action="">
 <td>
 
<select name="info"  id="info">
 
<?php while($fila=mysql_fetch_array($datos)){?>
 
    <option value="" ><?php echo $fila['marcamodelomatricula'];?></option>
 <?php
	}
?>
</select>
<script type="text/javascript">
 
var lista = document.getElementById("info");
 
 
//var valorSeleccionado = lista.options[lista.selectedIndex].text;
 
// Obtener el valor de la opción seleccionada
var valorSeleccionado = lista.options[lista.selectedIndex].value;
 
 
</script>
<a href =javascript:; onclick="javascript:arreglos()" > PROBAR</a>
 
</body>
</html>
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

getElementById

Publicado por xve (1594 intervenciones) el 05/12/2013 08:26:29
Hola Tomás.... fijate que cuando quieres cojer el valor del select, siempre haces referencia al value del mismo:
1
var valorSeleccionado = lista.options[lista.selectedIndex].value;

Pera en cambio, no pones nada dentro del value:
1
<option value="" ><?php echo $fila['marcamodelomatricula'];?></option>

Por lo tanto, nunca te cogerá ningún valor... Prueba a poner esto:
1
<option value="<?php echo $fila['marcamodelomatricula'];?>" ><?php echo $fila['marcamodelomatricula'];?></option>

Coméntanos, ok?
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