Foros del Web » Programando para Internet » Javascript »

fORMULARIO DEPENDIENTE-IMPOSIBLE RECOGE POST

Estas en el tema de fORMULARIO DEPENDIENTE-IMPOSIBLE RECOGE POST en el foro de Javascript en Foros del Web. Pues eso amigos...tengo un form en javascript dependiente entonces cuando hace clik en la categoria paises, dependiendo de que paises sale un select u otro ...
  #1 (permalink)  
Antiguo 23/11/2010, 18:20
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
fORMULARIO DEPENDIENTE-IMPOSIBLE RECOGE POST

Pues eso amigos...tengo un form en javascript dependiente entonces cuando hace clik en la categoria paises, dependiendo de que paises sale un select u otro con sus respectivas ciudedes.
Hasta ahi todo bien...el problema es cuando trato de recoger los option> del select de las ciudades...normalmente utilizo un simple $_POST [] pero lo curioso es que solo me recoge el primer option del ultimo select y eso pasa siempre a no ser que eliga otra option de este ultimo select....
Todos los select de ciudades tienen el mismo nombre. saludos
  #2 (permalink)  
Antiguo 23/11/2010, 19:49
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: fORMULARIO DEPENDIENTE-IMPOSIBLE RECOGE POST

¿como es el nombre de esos campos? de todos modos, al final del nombre debes tener un par de corchetes para que php lo pueda recibir como un array, de lo contrario aunque se envian todos los campos de cuidades, php solo sera capaz de leer uno. o mas bien digamos que el uno sobreescribe al otro.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 24/11/2010, 05:51
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: fORMULARIO DEPENDIENTE-IMPOSIBLE RECOGE POST

EL JAVASCRIPT
-------------------
<script type="text/javascript">
//<![CDATA[

function getcategoria(categoria)
{
var categoria;
//categoria = document.getElementById('tipo');
categoria = categoria.value;

document.getElementById('comidaadomicilio').style. display='none';
document.getElementById('clasesadomicilio').style. display='none';
document.getElementById('espectaculo').style.displ ay='none';
document.getElementById('esteticaadomicilio').styl e.display='none';
document.getElementById('arquitectura').style.disp lay='none';
document.getElementById('otrosespacios').style.dis play='none';
document.getElementById('tiendasropa').style.displ ay='none';
document.getElementById('bares').style.display='no ne';
document.getElementById('pub').style.display='none ';
document.getElementById('restaurante').style.displ ay='none';
document.getElementById('termalismo').style.displa y='none';

switch(categoria)
{
case 'Comida a domicilio':
document.getElementById('comidaadomicilio').style. display='block';
break;
case "Clases a domicilio":
document.getElementById('clasesadomicilio').style. display='block';
break;
case "Espectaculo":
document.getElementById('espectaculo').style.displ ay='block';
break;
case "Estetica a domicilio":
document.getElementById('esteticaadomicilio').styl e.display='block';
break;

}

}
//]]>
</script>
------------------------------
EL HTML
----------------------------
<div id="comidaadomicilio" style="display:block;">
<?php echo'<label><select name="subcategoria[]">
<option value="Catering">Catering</option>
<option value="Casera" >Casera</option>
<option value="China">China</option>
<option value="Desayunos">Desayunos</option>
<option value="Dietetica">Dietetica</option>
<option value="Hamburgueseria">Hamburgueseria</option>
<option value="Kebab">Kebab</option>
<option value="Japonesa">Japonesa</option>
<option value="Pizzerias">Pizzerias</option>
<option value="Pollos">Pollos</option>
</select>
</label>';?>
</div>
<div id="clasesadomicilio" style="display:none;">
<?php echo'<label><select name="subcategoria[]">
<option value="Academicas">Academicas</option>
<option value="Idiomas" >Idiomas</option>
<option value="Informatica">Informatica</option>
<option value="Musica">Musica</option>
<option value="Otras clases">Otras clases</option>
</select>
</label>';?>
</div>
---------------
EL PHP PROCESADOR
---------------------------
if($_POST["subcategoria"]){
$subcat=$_POST["subcategoria"];
echo $subcat[0];
echo $subcat[1];
}
else{
if(!$_POST["subcategoria"]){
echo "ERROR";}
}
-----------------
y se me imprime lo siguiente
---------------------
DesayunosAcademicas
-------------------------
yo elegi Desayunos (que debe ser array[0]) y Academicas debe ser array[1]
------------
Conclusion

Yo solo quiero recoger el array del option que eliga el cliente .
saludos y gracias por la ayuda.
  #4 (permalink)  
Antiguo 25/11/2010, 23:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: fORMULARIO DEPENDIENTE-IMPOSIBLE RECOGE POST

vere si comprendo porque no lo tengo claro. tu quieres recibir el valor de un solo <select> y no de ambos. el valor a recibir sera el que el usuario elige segun el listado. si es asi, entonces tienes que inhabilitar uno de los <select> para que el navegador no envie el valor. fijate que no es lo mismo ocultar un campo que inhabilitarlo. para inhabilitar un campo tienes que asignarle un boolean true/false a la propiedad disabled del campo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 01/12/2010, 05:34
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: fORMULARIO DEPENDIENTE-IMPOSIBLE RECOGE POST

Este es el código del formulario
----------------------------------------

<!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>
<script type="text/javascript">
//<![CDATA[

function getcategoria(categoria)
{
var categoria;
//categoria = document.getElementById('tipo');
categoria = categoria.value;

document.getElementById('comidaadomicilio').style. display='none';
document.getElementById('clasesadomicilio').style. display='none';
document.getElementById('espectaculo').style.displ ay='none';

switch(categoria)
{
case 'Comida a domicilio':
document.getElementById('comidaadomicilio').style. display='block';
break;
case "Clases a domicilio":
document.getElementById('clasesadomicilio').style. display='block';
break;
case "Espectaculo":
document.getElementById('espectaculo').style.displ ay='block';
break;
}
}
//]]>
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="anunciosprocesados2.php" method="post" name="agregarimagen" enctype="multipart/form-data">
<table class="formulario" width="720" height="425" border="0">
<tr><td class="direcction" height="26">*Categorías</td>
<td width="354" height="26">
<label><select name="categoria" id="categoria" onchange="getcategoria(this);">
<option selected value="Comida a domicilio">Comida a domicilio</option>
<option value="Clases a domicilio">Clases a domicilio</option>
<option value="Espectaculo">Espectaculo</option>
</select>
</label>
</td>
<TR>
<TD>*Subcategorías</TD>
<td>
<div id="comidaadomicilio" style="display:block;">
<?php echo'<label><select name="subcategoria[]">
<option value="Catering">Catering</option>
<option value="Casera" >Casera</option>
<option value="China">China</option>
<option value="Desayunos">Desayunos</option>
<option value="Dietetica">Dietetica</option>
<option value="Hamburgueseria">Hamburgueseria</option>
<option value="Kebab">Kebab</option>
<option value="Japonesa">Japonesa</option>
<option value="Pizzerias">Pizzerias</option>
<option value="Pollos">Pollos</option>
</select>
</label>';?>
</div>
<div id="clasesadomicilio" style="display:none;">
<?php echo'<label><select name="subcategoria[]">
<option value="Academicas">Academicas</option>
<option value="Idiomas" >Idiomas</option>
<option value="Informatica">Informatica</option>
<option value="Musica">Musica</option>
<option value="Otras clases">Otras clases</option>
</select>
</label>';?>
</div>
<div id="espectaculo" style="display:none;">
<?php echo'<label><select name="subcategoria[]" >
<option value="Fiestas y Shows">Fiestas y Shows</option>
<option value="Magos a domicilio">Magos a domicilio</option>
<option value="Musicos a domicilio" >Musicos a domicilio</option>
<option value="Payasos a domicilio">Payasos a domicilio</option>
<option value="Despedidas">Despedidas de soltero/a</option>
<option value="Otros espectaculos">Otros espectaculos</option>
</select>
</label>';?>
</div>
</td>
</TR>
<tr><td>
<label>
<input type="submit" name="button" id="button" value="Enviar" />
</label>
</form></td></tr>
</table>

</body>
</html>
-----------------------------
----------------------------
Y este el que recoge
<?php $subcat=$_POST["subcategoria"];
echo $subcat[0];
echo $subcat[1];
echo $subcat[2];
?>
Si le doy a enviar me impreme esto:
CateringAcademicasFiestas y Shows
(osea las primeras option de cada select)
---------------------------------------------------
Como ya dije el objetivo es añadir lo que sea para que me recoja solo el que el usuario eliga.


P.d:Pienso que tiene que ser algo sencillo pero claro lo mio es php.

Gracias por ayudar un saludo.

Etiquetas: post, formulario
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 19:21.