Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/04/2009, 22:51
Avatar de azwebs
azwebs
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Valores de combos

Hola, si estas usando un bucle (for) para mostrar todos los registros puedes puedes hacer lo siguiente:

<script type="javascript">
function Guardar(dato)
{
var variable = document.getElementById('declarado'+dato);
valor = variable.options[variable.selectedIndex].text;
document.getElementById('campo1').value=valor;
}

// Yo te recomendaría algo asi mejor
function Guardar2(valor)
{
document.getElementById('campo1').value=valor;
}
</script>

<?
// $numero es la cantidad máxima de registros que vas a mostrar
for($i=0; $i<$numero; $i++)
{
?>
<select name="declarado<?=$i?>" id="declarado<?=$i?>" onchange="Guardar(<?=$i?>)">
<option value="<?php echo $uno;?>" selected><?php echo $uno;?></option>
<option value="<?php echo $dos;?>"><?php echo $dos;?></option>
<option value="<?php echo $tres;?>"><?php echo $tres;?></option>
</select>

// Si usas "Guardar2" sería:
<select name="declarado<?=$i?>" id="declarado<?=$i?>" onchange="Guardar2(this.value)">
<option value="<?php echo $uno;?>" selected><?php echo $uno;?></option>
<option value="<?php echo $dos;?>"><?php echo $dos;?></option>
<option value="<?php echo $tres;?>"><?php echo $tres;?></option>
</select>


El resto de tu código quedaría igual:
<?php
echo "<form name='form2' action ='guardado.php' method='post'>\n";
echo "<input type='hidden' name='campo1' value='Guardar();'> \n";
echo "<td><input type='submit' name='modifico' value='Modificar'/></td>\n";
?>

Por cierto, ahora te sale a veces "Guardar();" porque es el valor "inicial" que le haz puesto al campo oculto que luego imprimes... si le quitas lo que te marqué con rojo no le pones ningun valor inicial a ese campo.

Saludos
AZW