Comunidad de diseño web y desarrollo en internet online

javascript no anda en firefox la parte del select

Citar            
MensajeEscrito el 25 Nov 2007 05:09 pm
CODIGO JAVASCRIPT: Solamente el codigo que marque en rojo no me funcion en firefox el resto si y nose que es el error no lo encuentro, si alguien se da cuenta ayudeme.
Gracias!!!!


// carreras disponibles

var carreras = [["Diseño Multimedia",false],

["Diseño y Administración de Sitios Web",true],

["Diseño de Video Juegos",false],

["Diseño de Indumentaria",false],

["Cine de Animación",false]];

// turnos y horarios

var turnos = [["Mañana","9 a 13 hs",true],

["Tarde","14 a 18 hs",false],

["Noche","18.45 a 22.45 hs",true]];



// materias de la carrera diseño web

var materiasWeb = [["Tecnología de las Comunicaciones I",

"Diseño de Interfaces",

"Introducción a la Programación",

"Construcción del Guión Interactivo",

"Diseño Gráfico",

"Psicología de la Comunicación"],

["Tecnología de las Comunicaciones II",

"Sistemas Operativos I",

"Programación I",

"Diseño Interactivo",

"Procesos Contables",

"Técnicas de Marketing"],

["Tecnología de las Comunicaciones III",

"Sistemas Operativos II",

"Clientes Web",

"Sistemas de Información y Control",

"Tecnología e Informática",

"Programación II"],

["Tecnología de las Comunicaciones IV",

"Sistemas Operativos III",

"Programación III",

"Etica y Deontología Profesional",

"Seguridad Informática",

"Seminario Final"]];



window.onload=function(){



nomb=$("frm_nombre");

apellido=$("frm_apellido");

nacimiento=$("frm_nacimiento");

dni=$("frm_dni");

usuario=$("frm_usuario");

contrasenia=$("frm_contrasenia");

contrasenia2=$("frm_contrasenia2");

correo=$("frm_correo");

correo2=$("frm_correo2");

edad=$("frm_edad");



nomb.maxLength = 15;

nacimiento.maxLength=10;

nacimiento.value = "dd/mm/aaaa";

dni.maxLength = 8;

edad.disabled=true;

usuario.maxLength = 12;

contrasenia.maxLength = 10;





nacimiento.onchange=function(){

Nacim(nacimiento,edad);

}





// validar carrera





var turno = $("sel_turno");

var carr = $ ("sel_carreras");

var divs = $$("i");

var inputs = $$("input");

var divHora = divs[0];

var r1 = inputs[10];

var r2 = inputs[11];

var r3 = inputs[12];

var r4 = inputs[13];

var o = document.createElement("option");

for (var i=0;i<carreras.length;i++) {

var o = document.createElement("option");

carr.appendChild(o);

o.text=carreras[i][0];

o.selected=carreras[i][1];

o.id=i+"car";

o.value=i;

}



for (var i=0;i<turnos.length;i++) {

var f = document.createElement("option");

$("sel_turno").appendChild(f);

f.text=turnos[i][0];

f.selected=turnos[i][2];

f.title=turnos[i][1];

f.id=i+"tur";

f.value=i;

}

turno.disabled=true;

r1.disabled=true;

r2.disabled=true;

r3.disabled=true;

r4.disabled=true;



$("sel_carreras").onchange=function(){

turno.disabled=false;

turno.onchange=function(){

var indice = this.selectedIndex;

divHora.innerHTML=this.options[indice].title;

r1.disabled=false;

r2.disabled=false;

r3.disabled=false;

r4.disabled=false;

}

};



var labels = $$("label");

var ultLabel = labels[15];

ultLabel.innerHTML="";

var tam = materiasWeb[[0][0]].length;



r1.onclick=function(){

ultLabel.innerHTML="";

for (var e=0 ; e<=tam-1 ; e++){

ultLabel.style.display="";

var ul = (materiasWeb[0][e]);

var id = "1_"+e+1;

crear ("input","div",id);

crear2 ("t",ul);

}

};

r2.onclick=function(){

ultLabel.innerHTML="";

for (var i=0 ; i<=tam-1 ; i++){

ultLabel.style.display="";

var ul = (materiasWeb[1][i]);

var id = "2_"+i+1;

crear ("input","div",id);

crear2 ("t",ul);

}

};

r3.onclick=function(){

ultLabel.innerHTML="";

for (var i=0 ; i<=tam-1 ; i++){

ultLabel.style.display="";

var ul = (materiasWeb[2][i]);

var id = "3_"+i+1;

crear ("input","div",id);

crear2 ("t",ul);

}

};

r4.onclick=function(){

ultLabel.innerHTML="";

for (var i=0 ; i<=tam-1 ; i++){

ultLabel.style.display="";

var ul = (materiasWeb[3][i]);

var id = "4_"+i+1;

crear ("input","div",id);

crear2 ("t",ul);

}

};

function crear(ele,tex,id) {

var ultLabel1 = labels[15];

var a = document.createElement(ele);

var t = document.createElement(tex);

a.type="checkbox";

ultLabel1.appendChild(a);

a.id=id;

};

function crear2(ele,tex) {

var ultLabel2 = labels[15];

var a = document.createElement(ele);

ultLabel2.appendChild(a);

a.innerHTML=tex+"<br />";

};









// Boton enviar

$$("button")[0].onclick=function() {

Nom(nomb);

Nom(apellido);

Dni(dni);

Nacim(nacimiento,edad);

User(usuario);

Contra(contrasenia, contrasenia2);

Correo1(correo,correo2);

}



$$("button")[1].onclick=function() {

nomb.value=""

apellido.value="";

nacimiento.value="dd/mm/aaaa";

dni.value="";

usuario.value="";

contrasenia.value="";

contrasenia2.value="";

edad.value="";

correo.value="";

correo2.value=""

}



$$("button")[2].onclick=function() {

ultLabel.innerHTML="";

}



$$("button")[3].onclick=function() {

nomb.value=""

apellido.value="";

nacimiento.value="dd/mm/aaaa";

dni.value="";

edad.value="";

}



$$("button")[4].onclick=function() {

usuario.value="";

contrasenia.value="";

contrasenia2.value="";

correo.value="";

correo2.value=""

}







}



function $(i){ // obtiene id

return document.getElementById(i);

}



function $$(i){ // obtiene tag

return document.getElementsByTagName(i);

}







function pintar(i){

i.style.border="solid 1px #f00";

}



function despintar(i){

i.style.border="1px solid #ccc";

}



// validar nombre y apellido



function Nom(nap){

despintar(nap)

var n=0;

var correcto ="abcdefghijklmnñopqrstuvwxyz ";

var primer="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";

var valnom= nap.value;

var si = true;

var ok= true;





for (i =1; i < valnom.length; i++) {

aux = valnom.charAt(i);

for (b = 0; b < correcto.length; b++)

if (aux== correcto.charAt(b))

break;

if (b == correcto.length) {

si = false;

break;

}

}



for(a=0;a<primer.length;a++){

if(valnom[0]==primer.charAt(a)){

n=(n+1);

break;

}

}

if(n>0){ok=true;}

if(n==0){ok=false;}





if ((!ok) || (!si) || (valnom.length>15)) {

alert("No debe haber caracteres especiales y la primer letra debe ser Mayuscula");

pintar(nap)

}



}



// validar fecha de nacimiento y poner la edad



function Nacim(nac,eda){

despintar(nac)



var m_fecha=nac.value;



if (m_fecha.indexOf("/")!==-1){

var v_fecha=m_fecha.split("/");

var Dia=v_fecha[0];

var Mes=v_fecha[1];

var Ano=v_fecha[2];



//controla el dia, mes y año

if (!(Dia>=1 && Dia<=31))

if (!(Mes>=1 && Mes<=12))

if (!(Ano>=1900 && Ano<=2050)) {alert ("Fecha incorrecta");pintar(nac)}

//si el año no es biciesto y el mes es febrero

if(Mes==2 && Ano%4>0 && Dia>28 ) {alert ("El año no es biciesto febrero no puede tener mas de 28 dias"); pintar(nac)}

//si el año es biciesto y el mes es febrero

if (Mes==2 && Ano%4==0 && Dia>29 ) {alert ("El año es biciesto febrero no puede tener mas de 29 dias"); pintar(nac)}





hoy= new Date();

m= hoy.getMonth()+1;

d= hoy.getUTCDate();



var hoy = new Date();

var a = hoy.getFullYear();

var m = hoy.getMonth()+1;

var d = hoy.getUTCDate();

var ed = (a - Ano) - 1;

var edad = 0;



if (m<Mes || m==Mes && d<Dia)

{edad = ed;}

if (m>Mes || m==Mes && d>=Dia)

{edad = ed+1;}



eda.value = edad



}



else{

alert ("Fecha incorrecta")

eda.value=0

pintar(nac)

}



}





// validar dni



function Dni(num){

despintar(num)

var numero= num.value;

if ( !(/^\d{8}$/.test(numero)) || numero.length<8)

{alert("Ingrese 8 caracteres numericos");

pintar(num);}

}





// validar usuario



function User(us){

despintar(us)

var correcto = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";

var valus = us.value;



var ok = true;



if (valus.length=="")

{

alert("Completar campo");

pintar(us)

}





for (i = 0; i < valus.length; i++) {

ch = valus.charAt(i);

for (j = 0; j < correcto.length; j++)

if (ch == correcto.charAt(j))

break;

if (j == correcto.length) {

ok = false;

break;

}

}

if (!ok) {

alert("Escriba solo letras");

pintar(us)

}



}



// validar contrasenia



function Contra(con,dos){

despintar(con)

despintar(dos)

var correcto ="abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";

var contr = con.value;

var ok = true;





for (i = 0; i < contr.length; i++) {

ch = contr.charAt(i);

for (j = 0; j < correcto.length; j++)

if (ch == correcto.charAt(j))

break;

if (j == correcto.length) {

ok = false;

break;

}

}

if ((!ok) || (contr.length<8)) {

alert ("Minimo 8 caracteres alfabeticos sin caracteres especiales ni acentos");

pintar(con)

}







// validar contrasenia2



var contra2 = dos.value;



if ((contr) != (contra2)){

alert ("La repeticion de la contrasena no coincide")

pintar(dos)

}





if (contra2==""){

alert ("Completar campo")

pintar(dos)

}



}



// validar correo



function Correo1(corr,corr2){

despintar(corr)

despintar(corr2)

atPos=0

periodPos=0



var email = corr.value;





invalidChars = " /:,;"



if (email == "") {

alert("Completar campo")

pintar(corr) }





for (i=0; i<invalidChars.length; i++) {

badChar = invalidChars.charAt(i)

if (email.indexOf(badChar,0) > -1) {

alert("Dirección de e-mail errónea")

pintar(corr)}

}





atPos = email.indexOf("@",1)

periodPos = email.indexOf(".",atPos)



if ((atPos == -1) || (email.indexOf("@",atPos+1) > -1) || (periodPos == -1) || (periodPos+3 > email.length)){

alert("Dirección de e-mail errónea")

pintar(corr) }









// validar contrasenia2



var correodos = corr2.value;



if ((email) != (correodos)){

alert ("La repeticion del correo electronico no coincide")

pintar(corr2)

}



if (correodos==""){

alert ("Completar campo")

pintar(corr2)

}

}





CODIGO 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">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" />
<title>Examen Parcial, Programacion I</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<script type="text/javascript" src="Parcial Programacion I.js"></script>
<style>
fieldset { display:block; width:370px; margin:10px; padding:10px; }
#frm { width:900px; margin:10px; padding:10px; }
#fs_comision div { float:left; }
</style>
</head>
<body>
<div id="rotulo">
<h2>Examen Parcial, Programacion I</h2>
<h4>Prof. Natan Santolo</h4>
</div>
<!--
ÉXITOS!!!
-->
<div id="frm">
<!-- <form id="" name="" method="" action=""> -->
<fieldset id="fs_personal">
<legend>Datos personales</legend>
<div>
<label>Nombre(s):
<input type="text" name="frm_nombre" id="frm_nombre" /></label>
</div><br/>
<div>
<label>Apellido(s):
<input type="text" name="frm_apellido" id="frm_apellido" /></label>
</div><br/>
<div>
<label>Fecha de nacimiento:
<input type="text" name="frm_nacimiento" id="frm_nacimiento" /></label>
<label> Edad:
<input type="text" name="frm_edad" id="frm_edad" size="3" maxlength="3" /></label>
</div><br/>
<div>
<label>DNI:
<input type="text" name="frm_dni" id="frm_dni" /></label>
</div>
</fieldset>
<fieldset id="fs_logeo">
<legend>Datos de logueo</legend>
<div>
<label>Nombre de usuario:
<input type="text" name="frm_usuario" id="frm_usuario" /></label>
</div><br/>
<div>
<label>Contraseńa:
<input type="text" name="frm_contrasenia" id="frm_contrasenia" /></label>
</div><br/>
<div>
<label>Re-ingresar Contraseńa:
<input type="text" name="frm_contrasenia2" id="frm_contrasenia2" /></label>
</div><br />
<div>
<label>Correo electrónico:
<input type="text" name="frm_correo" id="frm_correo" /></label>
</div><br/>
<div>
<label>Re-ingresar correo electrónico:
<input type="text" name="frm_correo2" id="frm_correo2" /></label>
</div>
</fieldset>
<fieldset id="fs_carrera">
<legend>Elige tu carrera</legend>
<div>
<select name="sel_carreras"></select>
<select name="sel_turno"></select>
</div>
</fieldset>
<fieldset id="fs_horario">
<legend>Horario de entrada</legend>
<label>Horario de Entrada: <span><i>debe elegir un turno</i></span></label>
</fieldset>
<fieldset id="fs_comision">
<legend>Elige tu comisión</legend>
<label>
<input type="radio" name="comision" value="1" />
1ro</label>
<label>
<input type="radio" name="comision" value="2" />
2do</label>
<label>
<input type="radio" name="comision" value="3" />
3ro</label>
<label>
<input type="radio" name="comision" value="4" />
4to</label>
</fieldset>
<fieldset id="fs_materias">
<legend>Materias para anotarse</legend>
<label>
<input type="checkbox" value="materia1" />
Nombre de Materia</label>
<br />
</fieldset>
<fieldset id="fs_control">
<legend>Control</legend>
<div><button><b>Enviar</b></button><button>Borrar todo</button><button>Limpiar materias</button></div>
<div><button>Borrar datos personales</button><button>Borrar datos de logueo</button></div>
</fieldset>
<!--</form>-->
</div>
</body>
</html>

Por valcreo

1 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 26 Nov 2007 04:07 pm
Demaciado codigo :S:S:S

AL menos lo hubieras puesto dentro de las etiquetas code!!

A ver...

Pimero.. usas algun framework de JS?? lo digo pq vi esta funcion q es tipica de los frameworks (mootools, etc..) o la creaste vos??

Código :

 $("sel_turno")


Segundo... tendrias q indicar si es una clase o un id...

Código :

 var divs = $$("i"); => si es clase le falta el punto =>  var divs = $$(".i");

 var divs = $$("i"); => si es id le falta # =>  var divs = $$("#i");


Tercero... esto esta mal... te puse un ejemplo en el otro post tuyo

Código :

 var o = document.createElement("option");


Estas asignando mal los eventos

Código :

 r2.onclick=function(){ }   => se parece mas a AS q a JS... (kizas se pueda... nunca probe)


Si usas algun framework JS usa las funciones de agregar eventos q tenga dicho framework

y.... me canse de leer... como te imaginaras leer lo q pusiste de esa forma cansa y cuesta...

Kizas hubiera sido mejor q subieras algun zip con los archivos q estas usando asi lo probamos nosotros...


saludos

Por 3w

145 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Nov 2007 04:32 pm
Primero te agradesco el hecho de responderme mil gracias y segundo nose como se sube soy nueva en el foro... :oops:
Decime asi te paso los archivos

Por valcreo

1 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 26 Nov 2007 04:44 pm
Tendrias q colgarlos en algun server tuyo y poner la direcciona aca


Saludos

Por 3w

145 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.