JavaScript - Recoger parámetros de formulario

 
Vista:

Recoger parámetros de formulario

Publicado por Mariano (2 intervenciones) el 24/06/2007 21:35:54
Tengo el siguiente formulario:
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
<form name="mi_formulario" method="post" >
<input name="opcion" type="radio" value="alta" checked />
<input name="opcion" type="radio" value="busqueda" />
<input name="opcion" type="radio" value="ver" />
<input type="button" value=" ENVIAR " name="enviar" onclick="enviar()" />
</form>
Compuesto por tres botones de opción y un boton que al hacer click se va a una función que llamo enviar, la cual contiene el siguiente código:
<script language="javascript">
	function enviar()
	{
	if(mi_formulario.opcion.value=='alta')
		{
		mi_formulario.action="altas.php"
		mi_formulario.submit()
		}
	else if(mi_formulario.opcion.value=='busqueda')
		{
		mi_formulario.action="busquedas.php"
		mi_formulario.submit()
		}
	else
		{
		mi_formulario.action="ver.php"
		mi_formulario.submit()
		}
	}
		</script>


Solo consigo que se obtenga la tercera opción, lo que significa que la función no recibe ni 'alta' ni 'busqueda'.
Si al formulario le pongo el action="verquepasa.php" y en dicho fichero recreo el valor de la variable $_POST["opcion"], si puedo ver cada una de los diferentes valores que puede tomar.
He intentado hacer una variable tal que, var valor = $_POST["opcion"] y no funciona.
¿Como podría pasarle a la función los diferentes valores del formulario?
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

RE:Recoger parámetros de formulario

Publicado por César Penna (21 intervenciones) el 25/06/2007 18:14:10
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Probando</title>
</head>
<body>
<!-- 
El problema radica en que se ve que al ser tres inputs con el mismo nombre javascript confunde los valores al accederlo de la 
forma en que lo hacias por ende lo que te conviene hacer es poner un input hidden en donde vayas seteando el valor con cada click
que hagas sobre el radio, inicializando su valor con el valor del radio checkeado por defecto. A continuacion muestro el ejemplo de como
seria con la funcion de actualizacion de valor incluida. Espero te sirva.
Nota: Todo va en este orden para que javascript tome los valores adecuados una vez que los campos han sido definidos.
-->
<form name="mi_formulario" method="post" >
<input name="opcion" id="radio1" type="radio" value="alta" onclick="valorActual(this.value)" checked />
<input name="opcion" id="radio2" type="radio" value="busqueda" onclick="valorActual(this.value)"/>
<input name="opcion" id="radio3" type="radio" value="ver" onclick="valorActual(this.value)"/>
<input name="valorOpcion" id="valorOpcion" type="hidden" value="alta" />
<input type="button" value=" ENVIAR " name="enviando" id="enviando" onclick="enviar()" />
</form>
<script language="javascript">
var valorOpcion = document.getElementById("valorOpcion");
function valorActual(valor){
	valorOpcion.value = valor;
}
 
function enviar() {
	switch(valorOpcion.value){
		case 'alta':
			mi_formulario.action="altas.php"
			mi_formulario.submit()
		break;
		case 'busqueda':
			mi_formulario.action="busquedas.php"
			mi_formulario.submit()
		break;
		case 'ver':
			mi_formulario.action="ver.php"
			mi_formulario.submit()
		break
	}
}
</script>
 
</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
1
Comentar

Gracias.

Publicado por Mariano (2 intervenciones) el 27/06/2007 05:56:53
Gracias por tu tiempo.
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