Meu código funciona no Mozilla e no IE, mas não roda em nenhuma versão de Google Chrome!
25/09/2015
0
No link a baixo, o codigo exibe o numero que foi selecionado no select (mas isso só acontece no Mozilla e no IE).
Testei no windows 7 e 8 com as versões do Google Chrome 45, 46 canary e 47 canary e nenhum resultado.
Testei linha por linha do Javascript e descobri que a function verifica () não está sendo executada no google chorme. Firefox e IE acitaram bem o meu projeto. A unica coisa que funciona é um alert() simples.
[url:descricao=Aqui podem ver o código funcionando no Firefox, mas não roda no Google Chorme]https://jsbin.com/haluxemigi/1/edit?html,js,output[/url]
O html está assim:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Not Run in Chrome?</title> <!-- chama a minha função armazenada em um arquivo externo chamado arithmetic.js --> <script type="text/javascript" src="js/arithmetic.js"></script> </head> <body> <select> <option id="five" onclick="verifica();" value="5">5</option> <option id="ten" onclick="verifica();" value="10">10</option> <option id="fifteen" onclick="verifica();" value="15">15</option> <option id="twenty" onclick="verifica();" value="20">20</option> <option id="twentyfive" onclick="verifica();" value="25">25</option> <option id="thirty" onclick="verifica();" value="30">30</option> <option id="thirtyfive" onclick="verifica();" value="35">35</option> <option id="forty" onclick="verifica();" value="40">40</option> </select> </body> </html>
e o arquivo js está assim:
function verifica() { //variaveis que vão ser inseridas no array para verificar qual é o numero selecionado curso5h=document.getElementById("five").selected; curso10h=document.getElementById("ten").selected; curso15h=document.getElementById("fifteen").selected; curso20h=document.getElementById("twenty").selected; curso25h=document.getElementById("twentyfive").selected; curso30h=document.getElementById("thirty").selected; curso35h=document.getElementById("thirtyfive").selected; curso40h=document.getElementById("forty").selected; //array contendo as variaveis declaradas acima, o numero selecionado corresponde a TRUE na sua respectiva variável e as demais correspondem a False array = [curso5h,curso10h,curso15h,curso20h,curso25h,curso30h,curso35h,curso40h]; a = 0; //condicional que verifica qual numero foi selecionado for ( i = array.length - 1; i >= 0; i--) { if (array[i] && i == 7) { a = document.getElementById("forty").value; alert(a); } else{ if (array[i] && i == 6) { a = document.getElementById("thirtyfive").value; alert(a); } else{ if (array[i] && i == 5) { a = document.getElementById("thirty").value; alert(a); } else{ if (array[i] && i == 4) { a = document.getElementById("twentyfive").value; alert(a); } else{ if (array[i] && i == 3) { a = document.getElementById("twenty").value; alert(a); } else{ if (array[i] && i == 2) { a = document.getElementById("fifteen").value; alert(a); } else{ if (array[i] && i == 1) { a = document.getElementById("ten").value; alert(a); } else{ if (array[i] && i === 0) { a = document.getElementById("five").value; alert(a); } } } } } } } } } }
Me ajudem, não sei onde errei e não encontrei nada que me ajudasse no google.
Obrigado
Marco Aurélio S. Martins
Marco Martins
Post mais votado
25/09/2015
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Marcelo Pastore
Mais Posts
25/09/2015
Marco Martins
25/09/2015
Marcelo Pastore
[url]https://productforums.google.com/forum/#!topic/chrome-pt/OrM7VAsT06U[/url]
Informe se deu certo ou não.
25/09/2015
Marco Martins
Errado:
// html <select> <option id="five" onclick="verifica();" value="5">5</option> <option id="ten" onclick="verifica();" value="10">10</option> <option id="fifteen" onclick="verifica();" value="15">15</option> <option id="twenty" onclick="verifica();" value="20">20</option> <option id="twentyfive" onclick="verifica();" value="25">25</option> <option id="thirty" onclick="verifica();" value="30">30</option> <option id="thirtyfive" onclick="verifica();" value="35">35</option> <option id="forty" onclick="verifica();" value="40">40</option> </select>
função apenas para pegar o value (nunca mais faço isso kkkkk)
function verifica() { curso5h=document.getElementById("five").selected; curso10h=document.getElementById("ten").selected; curso15h=document.getElementById("fifteen").selected; curso20h=document.getElementById("twenty").selected; curso25h=document.getElementById("twentyfive").selected; curso30h=document.getElementById("thirty").selected; curso35h=document.getElementById("thirtyfive").selected; curso40h=document.getElementById("forty").selected; array = [curso5h,curso10h,curso15h,curso20h,curso25h,curso30h,curso35h,curso40h]; a = 0; //noprotect for ( i = array.length - 1; i >= 0; i--) { if (array[i] && i == 7) { a = document.getElementById("forty").value; alert(a); } else{ if (array[i] && i == 6) { a = document.getElementById("thirtyfive").value; alert(a); } else{ if (array[i] && i == 5) { a = document.getElementById("thirty").value; alert(a); } else{ if (array[i] && i == 4) { a = document.getElementById("twentyfive").value; alert(a); } else{ if (array[i] && i == 3) { a = document.getElementById("twenty").value; alert(a); } else{ if (array[i] && i == 2) { a = document.getElementById("fifteen").value; alert(a); } else{ if (array[i] && i == 1) { a = document.getElementById("ten").value; alert(a); } else{ if (array[i] && i === 0) { a = document.getElementById("five").value; alert(a); } } } } } } } } } }
CORRETO (bem menos trabalho ¬¬)
html correto:
<select id="selecao" onchange="verifica();"> <option value="5">5</option> <option value="10">10</option> <option value="15">15</option> <option value="20">20</option> <option value="25">25</option> <option value="30">30</option> <option value="35">35</option> <option value="40">40</option> </select>
javascript correto
function verifica(){ var x = document.getElementById("selecao").value; alert("O numero selecionado foi: " + x); }
Valeu o aprendizado
Clique aqui para fazer login e interagir na Comunidade :)