Ir ao conteúdo
  • Cadastre-se

JavaScript: no IE vai bem, já no Firefox...


Jonatan_7

Posts recomendados

Alguns códigos que eu fiz em JavaScript funcionam perfeitamente bem no Internet Explorer. Mas no Firefox e seus "parentes" (como Netscape e Flock), os scripts ou funcionam parcialmente, ou funcionam bem e a página nunca pára de carregar, ou simplesmente nada roda.

O que eu posso fazer para os JScripts funcionarem do mesmo jeito no IE e no Firefox?

Link para o comentário
Compartilhar em outros sites

Olha, aqui tem um script que funcionou perfeitamente bem no IE, mas no Firefox nem chegou a rodar.

É um script de validação de campos.


function validar()
{
with(frmPrincipal)
{
cpfReq = false;
if(rdInscricao[1].checked)
cpfReq = true;
if(!rdInscricao[0].checked && !rdInscricao[1].checked)
alert("Selecione um tipo de inscrição!");
else if(txtEmail.value == "")
alert("Preencha o campo e-mail!");
else if(txtEmail.value.indexOf("@") < 1)
alert("Seu e-mail não possui o caractere \"@\"");
else if(txtEmail.value.substring(txtEmail.value.indexOf("@"),
txtEmail.value.length).indexOf(".") < 1)
alert("Digite um e-mail válido!");
else if(txtSenha.value == "")
alert("Digite uma senha!");
else if(txtSenha.value.length < 6)
alert("Sua senha é muito curta. Ela deve ter pelo menos 6 caracteres.");
else if(txtNome.value == "")
alert("Preencha o campo nome!");
else if(cpfReq && txtCPF.value == "")
alert("Seu tipo de inscrição exige o cadastro de um CPF.");
else if(isNaN(txtCPF.value) || txtCPF.value.charAt(0) == "-")
alert("O CPF deve ser numérico, sem pontos ou traços.");
else if(txtRG.value == "")
alert("Preencha o campo RG!");
else if(isNaN(txtRG.value) || txtRG.value.charAt(0) == "-")
alert("O RG deve ser numérico, sem pontos ou traços.");

// Início da verificação da data
else if(txtDia.value == "" || isNaN(txtDia.value) || txtDia.value < 1 ||
txtDia.value > 31 || txtDia.value % 1 != 0)
alert("Digite um dia válido.");
else if(txtMes.value == "" || isNaN(txtMes.value) || txtMes.value < 1 ||
txtMes.value > 12 || txtMes.value % 1 != 0)
alert("Digite um mês válido.");
else if(txtAno.value == "" || isNaN(txtAno.value) || txtAno.value == 0 ||
txtAno.value % 1 != 0)
alert("Digite um ano válido.");
else if(txtDia.value == 31 && (txtMes.value == 2 || txtMes.value == 4 ||
txtMes.value == 6 || txtMes.value == 9 || txtMes.value == 11))
alert("Digite uma data válida.");
else if(txtDia.value == 30 && txtMes.value == 2)
alert("Digite uma data válida.");
else if(txtDia.value == 29 && txtMes.value == 2)
if(txtAno.value % 400 != 0 && txtAno.value % 100 == 0)
alert("Digite uma data válida.");
else if(txtAno.value % 400 != 0 && txtAno.value % 100 != 0 &&
txtAno.value % 4 != 0)
alert("Digite uma data válida.");
// Fim da verificação da data

else if(txtEndereco.value == "")
alert("Preencha o campo endereço!");
else if(txtNumero.value == "")
alert("Preencha o campo número!");
else if(isNaN(txtNumero.value) || txtNumero.value <= 0 ||
txtNumero.value % 1 != 0)
alert("Digite um número válido.");
else if(txtBairro.value == "")
alert("Preencha o campo bairro!");
else if(txtCEP.value == "")
alert("Preencha o campo CPF!");
else if(isNaN(txtCEP.value) || txtCEP.value.charAt(0) == "-")
alert("O CEP deve ser numérico, sem pontos ou traços.");
else if(txtCidade.value == "")
alert("Preencha o campo cidade!");
else if(txtTelefone.value == "")
alert("Preencha o campo telefone!");
else if(isNaN(txtTelefone.value) || txtTelefone.value.charAt(0) == "-")
alert("O telefone deve ser numérico, sem parênteses ou traços.");
else if(txtCelular.value != "" && (isNaN(txtCelular.value) ||
txtCelular.value.charAt(0)))
alert("O número do celular deve ser numérico, sem parênteses ou traços.");
else
document.write("<font face=\"Segoe UI\" size=\"4\"><b>Cadastro efetuado.</b></font>");
}
document.close();
}

Já esse outro funcionou igualmente nos dois navegadores.

É um script que constrói uma tabela com ícones do tempo.

A página usa frames.


function carregarImagens(num)
{
images.document.open();
images.document.write("<html>");
images.document.write("<body bgcolor='#FAFAFA'><table bgcolor='#E0E0E0'><tr>");
images.document.write("<td><img src='Files/7even/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/Aqua/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/CRYSTAL/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/Grzanka/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/KonfabulatorPLUS/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/Nova/" + num + ".png' /></td>");
if(!isNaN(num) && num < 10)
images.document.write("<td rowspan='4' bgcolor='#FAFAFA'><font face='Arial' style='font-size: 90pt' color='#C0C0C0'><b>\n0" + num + "</b></font></td>");
else
images.document.write("<td rowspan='4' bgcolor='#FAFAFA'><font face='Arial' style='font-size: 105pt' color='#C0C0C0'><b>\n" + num + "</b></font></td>");
images.document.write("</tr><tr>");
images.document.write("<td><font face='Tahoma' size='4'>7even</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Aqua</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Crystal</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Grzanka</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Konfabulator</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Nova</font></td>");
images.document.write("</tr><tr>");
images.document.write("<td><img src='Files/Shiny/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/Stardock/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/TWC/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/TWCNew/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/Weather128/" + num + ".png' /></td>");
images.document.write("<td><img src='Files/Weather.com/" + num + ".png' /></td>");
images.document.write("</tr><tr>");
images.document.write("<td><font face='Tahoma' size='4'>Shiny</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Stardock</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>TWC</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>TWC 2008</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Weather128</font></td>");
images.document.write("<td><font face='Tahoma' size='4'>Weather.com</font></td>");
images.document.write("</tr><tr>");
images.document.write("<td colspan='7' bgcolor='#FAFAFA'><font face='Arial' size='6' color='#C0C0C0'><b>");
if(num == "NA")
images.document.write("Not available<br/>Não disponível");
else switch(num)
{
case 0: images.document.write("Thunderstorm<br/>Tempestade"); break;
case 1: images.document.write("Rain and windy<br/>Chuva e vento"); break;
case 2: images.document.write("Light rain and windy<br/>Chuva leve e vento"); break;
case 3: images.document.write("Thunderstorms in the vicinity<br/>Tempestades nas proximidades"); break;
case 4: images.document.write("Heavy thunderstorm<br/>Forte tempestade"); break;
case 5: images.document.write("Sleet<br/>Chuva e neve"); break;
case 6: images.document.write("Hail<br/>Granizo"); break;
case 7: images.document.write("Freezing sleet<br/>Chuva e neve congelados"); break;
case 8: images.document.write("Freezing drizzle<br/>Garoa congelada"); break;
case 9: images.document.write("Drizzle<br/>Garoa"); break;
case 10: images.document.write("Freezing rain<br/>Chuva congelada"); break;
case 11: images.document.write("Light rain<br/>Chuva leve"); break;
case 12: images.document.write("Rain<br/>Chuva"); break;
case 13: images.document.write("Snow flurries<br/>Neve rápida"); break;
case 14: images.document.write("Light snow<br/>Neve fraca"); break;
case 15: images.document.write("Snow blowing<br/>Neve flutuando"); break;
case 16: images.document.write("Snow<br/>Neve"); break;
case 17: images.document.write("Light rain with thunder<br/>Chuva leve com trovoadas"); break;
case 18: images.document.write("Melting hail<br/>Granizo derretido"); break;
case 19: images.document.write("Dust<br/>Areia"); break;
case 20: images.document.write("Fog<br/>Neblina"); break;
case 21: images.document.write("Haze<br/>Névoa seca"); break;
case 22: images.document.write("Smoke<br/>Fumaça"); break;
case 23: images.document.write("Windy<br/>Vento"); break;
case 24: images.document.write("Variable wind<br/>Vento variável"); break;
case 25: images.document.write("Frigid<br/>Frio"); break;
case 26: images.document.write("Cloudy<br/>Nublado"); break;
case 27: images.document.write("Mostly cloudy (night)<br/>Encoberto (noite)"); break;
case 28: images.document.write("Mostly cloudy (day)<br/>Encoberto (dia)"); break;
case 29: images.document.write("Partly cloudy (night)<br/>Parcialmente nublado (noite)"); break;
case 30: images.document.write("Partly cloudy (day)<br/>Parcialmente nublado (dia)"); break;
case 31: images.document.write("Clear<br/>Limpo"); break;
case 32: images.document.write("Sunny<br/>Ensolarado"); break;
case 33: images.document.write("Fair (night)<br/>Aberto (noite)"); break;
case 34: images.document.write("Fair (day)<br/>Aberto (dia)"); break;
case 35: images.document.write("Rain with thunder<br/>Chuva com trovoadas"); break;
case 36: images.document.write("Hot<br/>Quente"); break;
case 37: images.document.write("Scattered thunderstorms (day)<br/>Tempestades dispersas (dia)"); break;
case 38: images.document.write("Thunder<br/>Trovoadas"); break;
case 39: images.document.write("Scattered showers (day)<br/>Chuvas dispersas (dia)"); break;
case 40: images.document.write("Heavy rain<br/>Chuva forte"); break;
case 41: images.document.write("Scattered snow showers (day)<br/>Neves dispersas (dia)"); break;
case 42: images.document.write("Heavy snow<br/>Neve forte"); break;
case 43: images.document.write("Snow and windy<br/>Neve e vento"); break;
case 44: images.document.write("Showers in the vicinity<br/>Chuvas nas proximidades"); break;
case 45: images.document.write("Scattered showers (night)<br/>Chuvas dispersas (noite)"); break;
case 46: images.document.write("Scattered snow showers (night)<br/>Neves dispersas (noite)"); break;
case 47: images.document.write("Scattered thunderstorms (night)<br/>Tempestades dispersas (noite)"); break;
}
images.document.write("</b></font></td></tr></table></body></html>");
images.document.close();
}

Usei document.close() para parar o carregamento no Firefox ao completar os comandos.

Não usei document.open() no primeiro porque o Firefox carregava "eternamente" e não fazia nada.

Assim, como eu faço para os scripts funcionarem igualmente nos dois navegadores?

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...