Foros del Web » Programando para Internet » PHP »

recuperar la opcion de un select sin duplicar y de un grupo de opciones para un form

Estas en el tema de recuperar la opcion de un select sin duplicar y de un grupo de opciones para un form en el foro de PHP en Foros del Web. como recuperar el valor de un select sin duplicados y de un radio button de un grupo de opciones al enviar los datos de un ...
  #1 (permalink)  
Antiguo 31/07/2008, 10:39
 
Fecha de Ingreso: julio-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta recuperar la opcion de un select sin duplicar y de un grupo de opciones para un form

como recuperar el valor de un select sin duplicados y de un radio button de un grupo de opciones al enviar los datos de un formulario y luego cargar la misma pagina.
En el select se muestra el valor que se ha enviado pero
al desplegar la lista aparece varias veces el valor.
No puedo poner esto
<?php if(isset($_POST['GrupoOpciones1'])); echo $_POST['GrupoOpciones1']; ?>
en value de GrupoOpciones1 porque no me muestra nada, la opción no se queda señalada despues de enviar los datos y cargar la pagina del formulario.


Este el el codigo, gracias a quien me pueda ayudar.

Quiero recuperar los valores que se han mandado despues de enviar los datos de un formulario, de los dos select en el primero al enviar los valores se duplican al volver a seleccionar como se puede evitar y como se recupera el valor de un radio button de un grupo de opciones para que al enviar los datos podamos recuperar el valor y se muestre señalado en el 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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Selecci&oacute;n de datos</title>
<script languaje="JavaScript">
<!--
provincias = new Array();
provincias[0] = new Array();
provincias[1] = new Array('Almería','Cádiz','Córdoba','Granada','Jaén' ,'Sevilla');
provincias[2] = new Array('Huesca','Teruel','Zaragoza');
provincias[3] = new Array('Oviedo','Gijón');
function cambiar(formulario){
var i = 0;
var select1 = formulario['D1'];
var select2 = formulario['D2'];
var vector = provincias[select1.selectedIndex];
if(vector.length)select2.length=vector.length;
while(vector[i]){
select2.options[i].value = vector[i];
select2.options[i].text = vector[i];
i++;
}
select2.options[0].selected = 1;
}
-->
</script>
<style type="text/css">
<!--
body {
background-color: #CCCCCC;
}
.Estilo1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
color: #FFFFFF;
}
.Estilo2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style></head>

<body>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="235" border="0" align="center">
<tr>
<td width="222"><span class="Estilo1">Selecciona los datos: </span></td>
</tr>
</table>
<table width="232" height="163" style="border:solid 1px #FFFFFF"border="0" align="center" bgcolor="#CBC7FC">
<tr>
<td>&nbsp;</td>
<td width="86">&nbsp;</td>
<td width="108">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="86"><div align="left" class="Estilo2">Provincia:</div></td>
<td width="108"><div align="left" class="Estilo2">Localidad:</div></td>
</tr>
<tr>
<td width="22">&nbsp;</td>
<td colspan="2"><form name="form" method="post" action="lamismapagina.php">
<select name="D1" onchange="cambiar(this.form)">
<option selected="selected">
<?php if(isset($_POST['D1'])); echo $_POST['D1']; ?>
</option>
<option>Andaluc&iacute;a</option>
<option>Arag&oacute;n</option>
<option>Asturias</option>
</select>
<select name="D2">
<option selected="selected">
<?php if(isset($_POST['D2'])); echo $_POST['D2']; ?>
</option>
</select>
<table width="200">
<tr>
<td><label> <span class="Estilo2"><br />
Carnet</span> de conducir: <br />
<input type="radio" name="GrupoOpciones1" value="si" />
<span class="Estilo2">si</span></label></td>
</tr>
<tr>
<td><label>
<input type="radio" name="GrupoOpciones1" value="no" />
<span class="Estilo2">no</span></label></td>
</tr>
</table>
<p></p>
<div align="center">
<input type="submit" name="Submit" value="Enviar" />
</div>
</form></td>
</tr>
</table>
</body>
</html>

me han dado estas posibles soluciones pero no me han funcionado


<select name="D1" onchange="cambiar(this.form)">
<option <? if($_POST['D1'] == "Andalucía"){ ?> selected <? }?>>Andaluc&iacute;a</option>
<option <? if($_POST['D1'] == "Aragón"){ ?> selected <? }?>>Arag&oacute;n</option>
<option <? if($_POST['D1'] == "Asturias"){ ?> selected <? }?>>Asturias</option>
</select>


<input type="radio" name="GrupoOpciones1" value="si" <? if($_POST['GrupoOpciones1'] == "si") { ?> checked <? } ?> />

ademas me ha surgido otra duda ese codigo php puede ir puesto hay suelto.
  #2 (permalink)  
Antiguo 31/07/2008, 23:44
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: recuperar la opcion de un select sin duplicar y de un grupo de opciones pa

Pusiste esos codigos sueltos en vez de cambiar los codigos ??? Tal vez por eso no funcionaban.

Debes reemplazar cada codigo, por ejemplo, el q te di arriba es del select D1, pero no creo que te funcione porque cargas los select desde Javascript, el segundo (<input type="radio") debes cambiarlo por el <input type="radio" que dice "si"... en el de no pones lo mismo pero cambias el value="si" por value="no" y == "si" por == "no"... eso es lo que debes hacer.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
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 18:09.