Código HTML:
<!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" xml:lang="es" lang="es"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>SOLICITUD DE MUESTRA</title> <style type="text/css"> body{background-color: #CC0000; color:#fff; font:normal 0.7em Verdana, Arial, Helvetica, sans-serif;} #columna1,columna2 {float:left; width:350px;} #botones{clear:both;margin-top:50px;} #columna2 div{display:inline; position: absolute;left: 550px;} #columna1 input,select{position: absolute;left: 160px; } #columna2 input.normal,select.normal,textarea.normal,span.normal{position: absolute;left:550px; } label {line-height: 24px;} </style> <link href="texto.css" rel="stylesheet" type="text/css"> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; } } if (errors) alert('The following error(s) occurred:\n'+errors); document.MM_returnValue = (errors == ''); } //--> function addOpt(oCntrl, iPos, sTxt, sVal){ var selOpcion=new Option(sTxt, sVal); eval(oCntrl.options[iPos]=selOpcion); } function cambia(oCntrl){ while (oCntrl.length) oCntrl.remove(0); switch (document.frm.material.selectedIndex){ case 0: addOpt(oCntrl, 0, "- Selecciona -", "10"); addOpt(oCntrl, 1, "38 x 42 dos asas corta", "1"); addOpt(oCntrl, 2, "38 x 42 dos asas larga", "2"); addOpt(oCntrl, 3, "38 x 42 un asa", "3"); addOpt(oCntrl, 4, "38 x 42 dos asas corta y cordón", "4"); addOpt(oCntrl, 5, "38 x 42 dos asas corta y 5 cm. de fondo", "5"); addOpt(oCntrl, 6, "22 x 27 dos asas cortas", "6"); addOpt(oCntrl, 7, "50 x 50 dos asas cortas", "7"); addOpt(oCntrl, 8, "50 x 70 dos asas cortas", "8"); addOpt(oCntrl, 9, "mochila sin fondo", "9"); addOpt(oCntrl, 10, "mochila con fondo circular", "10"); break; case 1: addOpt(oCntrl, 0, "- Selecciona -", "13"); addOpt(oCntrl, 1, "38 x 42 dos asas corta", "1"); addOpt(oCntrl, 2, "38 x 42 dos asas larga", "2"); addOpt(oCntrl, 3, "38 x 42 un asa", "3"); addOpt(oCntrl, 4, "38 x 42 dos asas corta y cordón", "4"); addOpt(oCntrl, 5, "38 x 42 dos asas corta y 5 cm. de fondo", "5"); addOpt(oCntrl, 6, "22 x 27 dos asas cortas", "6"); addOpt(oCntrl, 7, "50 x 50 dos asas cortas", "7"); addOpt(oCntrl, 8, "50 x 70 dos asas cortas", "8"); addOpt(oCntrl, 9, "mochila sin fondo", "9"); addOpt(oCntrl, 10, "mochila con fondo circular", "10"); addOpt(oCntrl, 11, "38x29 2 asas bicolor horizontal y 10cm. de fondo", "11"); addOpt(oCntrl, 12, "38x42 2 asas bicolor vertical y 10cm. de fondo", "12"); addOpt(oCntrl, 13, "44x38 2 asas y 10cm. de fondo"); break; } } </script> </head> <body> <div id=contenedor> <p>Solicite GRATUITAMENTE su muestra digital, le diseñaremos su bolsa según las características que usted nos indique.</p> <script language="JavaScript"> var w = 400; var h = 150; resizeTo(w, h); moveTo((screen.width - w)/ 2, (screen.height - h)/ 2); </script> <form name="frm"> <div id=columna1> <label for="empresa">Empresa:</label><input name="empresa" type="text" class="form" id="empresa" size="25"><br/> <label for="CONTACTO">Persona de contacto:</label><input name="CONTACTO" type="text" class="form" id="CONTACTO" onBlur="MM_validateForm('CONTACTO','','R');return document.MM_returnValue" size="25"><br/> <label for="E-MAIL">E-mail:</label><input name="E-MAIL" type="text" class="form" id="E-MAIL" onBlur="MM_validateForm('E-MAIL','','RisEmail');return document.MM_returnValue" size="25"><br/> <label for="DIRECCION">Direccion:</label><input name="DIRECCION" type="text" class="form" id="DIRECCION" size="25"><br/> <label for="CIUDAD">C. Postal - Ciudad:</label><input name="CIUDAD" type="text" class="form" id="CIUDAD" size="25"><br/> <label for="TELEFONO">Teléfono:</label><input name="TELEFONO" type="text" class="form" id="TELEFONO" onBlur="MM_validateForm('CONTACTO','','R','E-MAIL','','RisEmail','TELEFONO','','RisNum','FAX','','NisNum');return document.MM_returnValue" size="25"><br/> <label for="FAX">Fax:</label><input name="FAX" type="text" class="form" id="FAX" onBlur="MM_validateForm('FAX','','NisNum');return document.MM_returnValue" size="25"><br/> <label for="NOS ENCONTRO">Como nos encontró:</label><select name="NOS ENCONTRO" class="form" id="NOS ENCONTRO"><br/> <option>Televisión</option> <option>Radio</option> <option>Google</option> <option>Yahoo</option> <option>Otros buscadores</option> <option>Banner en e-mail</option> <option>Link en una web</option> <option>Periódico</option> <option>Por otra persona</option> <option>Feria</option> <option>Otros</option> <option selected>- Selecciona -</option> </select><br/> <label for="ESPECIFIQUE">Por favor especifique:</label><input class="normal" name="ESPECIFIQUE" type="text" class="form" id="ESPECIFIQUE" size="25"><br/> </div> <div id=columna2> <label for="TIPO">Tipo de material:</label><div class="normal"><select name="material" onchange="cambia(document.frm.ESTILO)"><option value="alg">Algodón</option><option value="pp">No tejido</option></select></div><br/> <label for="ESTILO">Estilo de bolsa:</label><select class="normal" name="ESTILO" class="form"> <option>38 x 42 dos asas corta </option> <option>38 x 42 dos asas larga </option> <option>38 x 42 un asa </option> <option>38 x 42 dos asas corta y cordón </option> <option>38 x 42 dos asas corta y 5 cm. de fondo </option> <option>22 x 27 dos asas cortas </option> <option>50 x 50 dos asas cortas </option> <option>50 x 70 dos asas cortas </option> <option>mochila sin fondo </option> <option>mochila con fondo circular </option> <option selected>- Selecciona -</option> </select><br/> <label for="color">Color de bolsa:</label><br/> <label for="COMENTARIO">Comentarios:</label><textarea class="normal" name="COMENTARIO" cols="40" rows="7" class="form" id="COMENTARIO"></textarea><br/> </div> <div id="botones"><input name="reset" type="reset" class="form" value="borrar"> <input name="submit" type="submit" class="form" value="Enviar"></div> </form> </div> </body> </html>
El javascript que hace que cambie un select de pendiendo del anterior funciona en firefox pero no en IE. No doy con la solucion.
También me gustaria cambiarlo para poder cambiar las opciones del select, segun el valor obtenido de un radiobutton, y no de otro select. Es decir seria cambiar el select de tipo de material por un radiobutton. en el q se elegiera uno u otro.
A ver que opinan, muchas gracias.