Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2009, 02:52
Cucus
 
Fecha de Ingreso: agosto-2009
Mensajes: 26
Antigüedad: 14 años, 9 meses
Puntos: 0
Insertar un div

Buenos dias a todos,

Os escribo porque tengo una duda y espero que me la podais resolver. En mi web tengo un desplegable (un select) con distintas opciones, entre estas, hay un par que si las selecccionas, creamos un nuevo desplegable con mas opciones (digamos que seria como una especie de subnivel)

Aqui teneis la parte del codigo

<form>
...
<div class="colcampos6">
Motivo del correo<span class="asterisco">*</span><BR>
<SELECT NAME="motivo" ID="motivo" CLASS="input" onchange="javascript: encender(document.getElementById('motivo').value,d ocument.formu.subopcion,'colcampos6');">
<option>...</option
......
</SELECT>
</div>
<DIV class="clearboth"></div>
<div class="colcampos6" style="visibility:hidden" id="prueba">
<select name="subopcion" id="subopcion" class="input" ></select>
</div>
</form>

Para ayudaros a entenderlo el <DIV class="clearboth"></div> es como una especie de "salto de linea", y la operacion "encender" lo que hace es dada la "option" seleccionada, rellena el select "subopcion" con unas "options" distintas.

Aqui teneis el script:

<script language="JavaScript">

function crear_un_nuevo_div() {

var form = document.getElementById('formulario');
var contenedor = document.createElement('div');
contenedor.id = 'prueba2';
contenedor.setAttribute("class", "clearboth");
alert(form.innerHTML);
form.appendChild(contenedor);
}

function addOpt(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}

function encender(num, oCntrl, menu)
{
while (oCntrl.length) oCntrl.remove(0);
var n=document.formu.motivo.selectedIndex;
switch(n){
case 1:
crear_un_nuevo_div();
document.getElementById('prueba').style.visibility = 'visible';
addOpt(oCntrl, 0, "Solicitud de Alta", "0");
addOpt(oCntrl, 1, "Olvidé mis datos de acceso", "1");
addOpt(oCntrl, 2, "Otros", "2");

break;

case 2:
crear_un_nuevo_div();
document.getElementById('prueba').style.visibility = 'visible';
addOpt(oCntrl, 0, "Línea de Crédito", "0");
addOpt(oCntrl, 1, "Disponible", "1");
addOpt(oCntrl, 2, "Cuota", "2");
addOpt(oCntrl, 3, "Deuda pendiente", "3");
addOpt(oCntrl, 4, "Fecha recibo", "4");
addOpt(oCntrl, 5, "Importe retrasado", "5");
addOpt(oCntrl, 6, "Extracto mensual", "6");
addOpt(oCntrl, 7, "Envío de documentación", "7");
break;
default:
document.getElementById('prueba').style.visibility = 'hidden';
}
}


</script>

Mi intencion es poder quitar el <DIV class="clearboth"></div> que esta justo antes del select de subopcion y añadirlo o quitarlo en funcion de que "option" hemos elegido en el primer select.

No se si me he explicado muy bien.

En cualquier caso, gracias por la ayuda :)