Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/11/2007, 18:15
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 2 meses
Puntos: 45
Re: Ventana de seleccion en una función javascript

Hola gaspampera y rrnieto:

Otra opción es mantener una capa oculta con las cuatro opciones, y cuando deseemos mostrarlas. Nos dejamos de incómodos popups... Te paso un ejemplo tonto:


Código PHP:
<script type="text/javascript">
<!--

// document.getElementById abreviado
function $(x) { return document.getElementById(x); }


function 
mostrarOpciones() {
    $(
'opciones').style.display "block";
    $(
'opcionElegida').innerHTML "";
}
function 
seleccionarOpcion(opt) {
    switch( 
opt.id ) {
        case 
"campo"txt "Al campo."; break;
        case 
"playa"txt "A la playa."; break;
        case 
"montanya"txt "A la montaña."; break;
        case 
"ninguno"txt "A ningún sitio."; break;
    }
    $(
'opcionElegida').innerHTML txt;
    $(
'opciones').style.display "none";
}


function 
confirmaDatos(fr) {
    if( 
fr.nombre.value!=="" && $("opcionElegida").innerHTML!=="" && fr.edad.value!=="" ) {
        var 
str "Tu nombre es "+fr.nombre.value+"\n";
        
str += "Quieres viajar: "+$("opcionElegida").innerHTML+"\n";
        
str += "Tu edad: "+fr.edad.value;
        return 
window.confirm(str);
    }
    else {
        
alert("¡Datos incompletos!");
        return 
false;
    }
}

// -->
</script>



<form onsubmit="return confirmaDatos(this)">
    <label for="nombre">Tu nombre: </label><input type="text" id="nombre" name="nombre" /> <br/>
    <a href="#" onclick="mostrarOpciones()">A dónde quieres viajar</a>: <span id="opcionElegida"></span>
    <div id="opciones" style="display:none;" >
        <label for="campo">Al campo</label><input type="radio" id="campo" name="viajar" onclick="seleccionarOpcion(this)" /> <br/>
        <label for="playa">A la playa</label><input type="radio" id="playa" name="viajar" onclick="seleccionarOpcion(this)" /> <br/>
        <label for="montanya">A la montaña</label><input type="radio" id="montanya" name="viajar" onclick="seleccionarOpcion(this)" /> <br/>
        <label for="ninguno">A ningún sitio</label><input type="radio" id="ninguno" name="viajar" onclick="seleccionarOpcion(this)" /> <br/>
    </div><br/>
    <label for="edad">Tu edad: </label><input type="text" id="edad" name="edad" /> <br/>
    <button type="submit">Envia</button>
</form> 
Y tal y como está aquí también puede estar el DIV en position: absolute y parecer una ventana emergente... eso como veas.



Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.