
Lamenza
Membros-
Total de itens
18 -
Registro em
-
Última visita
Tudo que Lamenza postou
-
Alguém conhece alguma função para ordenar um array multidimensional? Em tempo: fazer a ordenação por dois elementos do array.
-
Caro Allan, Nessa solução há um probema. A barra de progresso, ao final de seu avanço, executa uma rotina. É essa rotina que executa a tarfefa principal de minha aplicação. Ocorre que a solução apresentada por você - ao eliminar a chamada da função BarraOculta() - deixa-se de chamar a rotina principal. O quarto argumento da função BarraOculta() - aArg - é um array com os argumentos da função principal. A barra de progresso leva um tempo para ser executada. Nesse intervalo de tempo eu pretendia pausar a execução do código na página chamadora - pai - enquanto a página chamada - filho - executasse sua tarefa. Ao final do tempo da barra de progresso, a página pai continuaria processando a função, mandando novo lote de informações para a página filho, sempre após o tempo da barra.
-
Tenho duas páginas que trabalham associadas. A página "pai" passa parâmetros na string para a página "filho". A página "filho" responde a página "pai" (parent.Resposta()) que executou sua função. Ocorre que sua função é salvar dados num banco de dados, cujo tempo de processamento não é o mesmo das páginas "pai" e "filho". Como a página "pai" pode mandar vários lotes de dados, usei uma rotina em javascript que gera uma pausa na execução do envio dos lotes e exibe uma barra de progresso, para que o usuário saiba que algum processamento ocorre. O erro se dá quando a barra entra num loop - se não infinito - maior que o número de lotes. Funciona mais ou menos assim (a página abaixo não tem o mesmo conteúdo que as minhas, mas os erros são idênticos): página chamadora <html> <head> <title>Implementing Wait in Javascript</title> <script language="javascript" type="text/javascript" src="Barra.js"></script> <script language="javascript" type="text/javascript"> //função chamada pela barra de progresso, só chamada ao final do tempo definido em Barra.js function AcaoBarra(arg1, arg2){ //alert(arg1 + " - " + arg2); } function teste(){ for (var i=0;i<5;i++){ BarraCria('teste','PBouter1','PBdone1'); } } </script> </head> <body leftmargin="15" topmargin="0" bgcolor="#EEEEFF"> <input type="button" onclick="teste()" /> <br /> <div id="teste"></div> </body> </html> O código "Barra.js" é o seguinte: var AlturaAntes = 0; var BarraAltura=15; var BarraLargura = screen.availWidth; var BarraTempo=2; var BarraIndicador=(BarraLargura-2)/BarraTempo/10; var BarraCarregada=0; var CorAntes = ""; var Pid=0; var BarraAvanca = true; function BarraVars(){ AlturaAntes = 0; BarraAltura=15; BarraLargura = screen.availWidth; BarraTempo=2; BarraIndicador=(BarraLargura-2)/BarraTempo/10; BarraCarregada=0; CorAntes = ""; Pid=0; BarraAvanca = true; } function BarraOculta(el_Ancora,el_Tabela,el_Barra,aArg){ el1 = document.getElementById(el_Tabela); el2 = document.getElementById(el_Barra); el2.style.width = 0; el2.style.height = 0; clearInterval(Pid); window.status=''; AcaoBarra(aArg); BarraCarregada = 0; BarraAltura = 15; linhaBarra = document.getElementById(el_Ancora); linhaBarra.style.backgroundColor = CorAntes; linhaBarra.style.height = AlturaAntes; //el2.parentNode.removeChild(el2); //el1.parentNode.removeChild(el1); //BarraAvanca = false; //BarraVars(); } function BarraCria(el_Ancora,el_Tabela,el_Barra,aArg){ linhaBarra = document.getElementById(el_Ancora); CorAntes = linhaBarra.style.backgroundColor; AlturaAntes = linhaBarra.style.height; linhaBarra.style.backgroundColor = "yellow"; vertab = document.getElementById(el_Tabela); if (!vertab) { //BarraAvanca = true; CriaTab(el_Ancora,el_Tabela,el_Barra,1); } el1 = document.getElementById(el_Tabela); BarraRedimensiona(el_Barra,0,0,BarraAltura-2,0); el1.style.visibility="visible"; Pid=setInterval(function() { BarraAvanco(el_Ancora,el_Tabela,el_Barra,aArg); },95); } function BarraAvanco(el_Ancora,el_Tabela,el_Barra,aArg){ window.status="Carregando..."; BarraCarregada++; if(BarraCarregada<0)BarraCarregada=0; if(BarraCarregada>=BarraTempo*10){ clearInterval(Pid); BarraCarregada=BarraTempo*10; BarraOculta(el_Ancora,el_Tabela,el_Barra,aArg); } BarraRedimensiona(el_Barra, 0, BarraIndicador*BarraCarregada, BarraAltura-2, 0); } function BarraRedimensiona(id_elemento,t,r,b,l){ //alert(BarraAvanca) if (BarraAvanca){ vertab = document.getElementById(id_elemento); if (vertab) { elemento = document.getElementById(id_elemento); elemento.style.width=r+'px'; } } } function CriaTab(idancora,idtabela,idlinha,celulas){ var elemento = document.getElementById(idancora); tabela = document.createElement("<table border='0' cellpadding='0' cellspacing='0' style='height:" + BarraAltura + "; border-collapse: collapse;border:1px solid black; background-color:#FFFFFF;' id='" + idtabela + "'></table>"); elemento.appendChild(tabela); Tabela_Base = document.getElementById(idtabela); var Linha = Tabela_Base.insertRow(); if (celulas>1) { for (i=0;i<celulas;i++){ var celula1 = Linha.insertCell(); celula1.id = "cel_" + i.toString(); celula1.style.width = Tamanho.toString() + "%"; if ((i % 2) == 0) { celula1.style.backgroundColor ="red"; celula1.style.border = "0px solid black"; } else { celula1.style.backgroundColor ="white"; celula1.style.border = "1px solid black"; } } } else { var celula1 = Linha.insertCell(); celula1.id = idlinha; celula1.style.backgroundColor ="red"; } } Algém poderia me ajudar a interromper a barra ao final das iterações? Ou alguém conhece outra solução para o problema? Já criei algumas variáveis booleanas para tentar controlar o fluxo da barra, mas não consigo.
-
Quando capturo os dados de um formulário e os envio para um BD Access, uso uma rotina padronizada. Não consegui entender por que razão os dados estão sendo salvos em duplicidade - as vezes salva-se 10 vezes o mesmo registro. Alguém já experimentou isso?
-
Problemas Com Position + Select + Iframe
pergunta respondeu ao Lamenza de Lamenza em Ajax, JavaScript, XML, DOM
Caros, O select a que me refiro, é criado por uma função. Ele não é um elemento da página. É um select do tipo auto-completar, que vai tendo suas opções preenchidas conforme o texto digitado pelo usuário Ele é criado dentro de uma div. Mesmo assim, fica por traz de um iframe localizado logo abaixo dele. Já alterei as propriedades CSS position e z-index, mas não dá certo. Já me referi as mesmas propriedades, na função criadora, com a propriedade parent, tentando dar-lhe uma hierarquia inferior. Também não dá certo! Se alguém tiver um pouco de paciência, copie e cole o código das páginas e veja o que ocorre. Desconsidere o erro que mecionei acima, pois ele não interfere no que pretendo demonstrar como sendo a solução que busco. Grato, Lamenza -
Problemas Com Position + Select + Iframe
pergunta respondeu ao Lamenza de Lamenza em Ajax, JavaScript, XML, DOM
Caro Help, Obrigado pelo... help! Mas não é esse o meu problema! Como eu não postei nenhum exemplo, vamos lá! Talvez assim eu me faça entender direito! Página pai <html> <head> <meta name="GENERATOR" content="Microsoft FrontPage 6.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Nova pagina 1</title> </head> <body> <iframe id="frame1" style="height:20px; width:100%" scrolling="no" src="iframe1.htm"></iframe> <iframe id="frame1" style="height:120px; width:100%" scrolling="no" src="http://scriptbrasil.com.br/forum/index.php?showtopic=91996&hl=array"></iframe> </body> </html> Página Filho <html> <head> <meta name="GENERATOR" content="Microsoft FrontPage 6.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Nova pagina 1</title> <style media="screen" type="text/css"> body {margin-top:0; margin-left:0; margin-right:0} .select{font-family:arial;font-size:8pt;color:#000000;width:98%} table {border-collapse: collapse;margin-left: 0; margin-right: 0; margin-top: 0; width: 100%; height: 33px; border-collapse: collapse; background-color: #ABABAB; border: 0 none #111111} .list{position:absolute;font-family:arial;font-size:8pt;color:#000000;width:98%;z-index:1} #listHolder{position:absolute;border:0;width:90%;z-index:1} #Escondido0 {display: inline; position: absolute;left: 0; top: -200; text-align: left} #Escondido1 {display: inline; position: absolute;left: 0; top: -200; text-align: left} </style> <script type="text/javascript" language="javascript"> var ArrayPesquisa = new Array([0,"leandro"], [1,"ligia"], [2,"lucas"]); var teclapress; function ComboBuscaDados(campo,texto){ CampoPesquisa = campo; teclapress = event.keyCode; //ArrayPesquisa = teste; ComboCriacao(CampoPesquisa,ArrayPesquisa); } //Função criadora do combo, chamada por ComboBuscaDados() //Esta função cria um combobox associado ao [obj], com as opções do array [aArrayPesquisa] function ComboCriacao(obj,aArrayOpcoes) { var selecionados = aArrayOpcoes.length; var k = teclapress; var T = BuscaPosY(obj); //top var L = BuscaPosX(obj); //left var list = document.getElementById('listHolder'); if(!list) { var list = document.createElement('DIV'); list.id = 'listHolder'; document.body.appendChild(list); } list.style.width = (document.body.offsetWidth-10); list.style.top=(T+obj.offsetHeight); list.style.left=L; list.style.display='none'; var txt=obj.value; if (txt) { var str='<select style="z-index:600" class="list"'+ 'onclick="ComboDevolveValor(\''+'CampoA'+'\',this.options[this.selectedIndex].value,\''+obj.id+'\',this.options[this.selectedIndex].text);"'+ 'onkeyup="if(event.keyCode==13){ComboDevolveValor(\''+'CampoA'+'\',this.options[this.selectedIndex].value,\''+obj.id+'\',this.options[this.selectedIndex].text);};if(event.keyCode==27){'+ 'document.getElementById(\'listHolder\').style.display=\'none\';'+ 'document.getElementById(\''+obj.id+'\').focus()};" id="selector" size="6">' var match=true for(a=0;a<aArrayOpcoes.length;a++){ //str+=('<option value="'+aArrayOpcoes[a][0].replace(/\'/gi,'’')+'">'+aArrayOpcoes[a][1]+'</option>'); //Linha com erro } str+='</select>' if(match){ list.innerHTML=str list.style.display='block' var sel=document.getElementById('selector') // Seta abaixo if(k=='40') { sel.focus() } // Enter if(k=='13'){ document.getElementById('listHolder').style.display='none' } } } } function ComboDevolveValor(obj,val,obj1,val1){ var obj=document.getElementById(obj); var obj1=document.getElementById(obj1); //var tabelapesquisa = document.getElementById("TelaPesquisa"); obj.value=val; obj.focus(); obj1.value = val1; document.getElementById('listHolder').style.display='none'; //tabelapesquisa.style.display = "none"; //JanelaMenuInt1.FormMenu.valor_link.value=val; PesquisaComResultados(val); } //Chamada pela função criadora do combo, serve para identificar o campo de ancoragem e fixar sua posição X function BuscaPosX(obj){ var curleft=0; if(obj.offsetParent) { while(obj.offsetParent){ curleft+=obj.offsetLeft obj=obj.offsetParent; } } else if(obj.x) curleft+=obj.x; return curleft; } //Chamada pela função criadora do combo, serve para identificar o campo de ancoragem e fixar sua posição Y function BuscaPosY(obj){ var curtop=0; if(obj.offsetParent){ while(obj.offsetParent){ curtop+=obj.offsetTop obj=obj.offsetParent; } } else if(obj.y) curtop+=obj.y; return curtop; } </script> </head> <body> <div id="Escondido1"> <input id="CampoA" name="CampoA" type="text" value="" /> <input id="CampoB" name="CampoB" type="text" value="" /> </div> <input type="text" id="listapessoas" name="listapessoas" value="" onkeyup="ComboBuscaDados(this,this.value);" size="20" style="font-family: arial; font-size: 9pt; width: 100%"/> </body> </html> Na página filho há um erro que não interfere no que eu estou perguntando. Nessa página há um campo de texto que, com o evento onkeyup chama uma função . Esta função simula um campo do tipo select que vai tendo suas opções preenchidas à medida em que encontra equivalência com o conteúdo de um array. Um campo select criado diretamente na página seria exibido corretamente. Este select criado pela função, por sua vez, fica oculto pelo outro iframe. É essa a minha dúvida: como fazer para que esse campo select seja exibido corretamente. Quanto ao erro que mencionei, as linhas estão desabilitadas com "//". Não é um problema, pois quiz adaptar meu problemar num exemplo mais simples e não deu de todo certo. Na prática, eu coleto dados de um banco de dados. Espero que tenha sido claro agora. Obrigado, Lamenza -
Tenho uma página que congrega várias outras dentro de iframes. Num desses iframes, tenho um combo box. O problema ocorre quando aciono o combo e ele é exibido por traz de um iframe, não sendo possível ler suas opções. Já tentei atribuir, na página onde é construído o combo, uma propriedade "z-index", mas não ocorre mudança. Existe alguma maneira de posicionar esse elemento com uma hierarquia superior ao seu parent?
-
Valeu OS! Sua sugestão deu certo. Desculpe não ter respondido antes...
-
verifique se esta recebendo os valors corretamente e posta ae o resultado! ps: isto é só um exemplo!!! você pode fazer uma verificação desde o início do script!!! abraços Caro Ferscomig, A variável de controle do lop "for..." estava errada. O limite era 18 e não 19. Dai buscáva-se um campo que não existia e resultava em erro. Obrigado!
-
Prezados, É possível uma página capturar um "div" de outra página? Exemplo, uma página de determinado jornal, exibe um box - enquadrado em uma div - com as condições de tempo. É possível carregar, na minha página, um iframe que exiba somente aquela div específica da outra página? Grato, Lamenza
-
Os campos são do tipo "<input type='text' id='2_7' name='2_7' value=0>". Obter o valor dos campos não é problema. O problema está na soma dos mesmos.
-
Tenho uma tabela construída com campos de formulário, aos quais são atribuídos IDs com o número da linha e o número de coluna (L_C). Ao digitar um valor num campo, desejo que - no evento onBlur - um outro campo seja atualizado com a soma dos demais campos da mesma linha. Escrevi uma função assim: function somacampos(campo,linha){ var posicao = campo.name.indexOf("_"); var nlinha = campo.name.slice(0,posicao); var soma = 0; for(x=7;x<=19;x++) { valor = eval(document.getElementById(nlinha + '_' + x.toString()).value.replace(trocaV,".")); soma = valor + soma; } camposoma = document.getElementById('soma_' + nlinha.toString()); camposoma.value=soma; } Ou seja, desejo percorrer as colunas de 7 a 19, obter o valor dos campos e somá-los, atualizando o campo soma, que também é identificado por seu número de linha (ID = soma_L). Uma função equivalente em VBScript funciona, mas não consigo fazê-la funcionar em javascript. A função em VB é para o lado servidor. No lado cliente, preciso usá-la com java. O que está errado?
-
Tenho um função que recebe um número como parâmetro [ teste(1) ]. Este número é parte de um ID de um elemento contido em uma tabela, por exemplo 1_2. Ocorre que, quando recebo o parâmetro não consigo converter o mesmo numa ID válida, sempre resulta em erro. A função é mais ou menos assim: function teste(obj){ var vID = obj + '_2'; var campo = document.getElementByID(vID); vobjeto = campo.value; alert(vobjeto); } O que está errado? Lamenza
-
Ao Mr. Lomack e aos amigos do fórum: Encontrei a solução. O código é esse: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Untitled</title> <script language="JavaScript" type="text/javascript"> <!-- function exibe(id,display){ cols = document.getElementsByTagName('td'); for(c=0; c<cols.length; c++){ if(cols[c].getAttribute('c') == id){ cols[c].style.display = display; } } } function trocacol(id,display){ cols = document.getElementsByTagName('td'); valor = document.getElementById('chk1'); for(c=0; c<cols.length; c++){ if(cols[c].getAttribute('c') == id){ cols[c].style.display = display; } } valor.checked="checked"; } //--> </script> </head> <body onload="trocacol('col2','none')"> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" ID="Tabela"> <tr> <td width="6%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Item</td> <td width="21%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Descrição</td> <td width="7%" align="center" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" bgcolor="#3399FF">Valor Total</td> <td width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Início</td> <td width="1%" style="font-family: Angsana New; font-size: 2 mm; border-style: solid; border-width: 0" bgcolor="#C0C0C0" valign="top"> <input type="checkbox" value="col2" id="chk1" onclick="e=(this.checked)?'':'none';d=(this.checked)?'none':'';exibe(this.value,d);exibe('col1',e);"></td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Jan</td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Fev</td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Mar</td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Abr</td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Mai</td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Jun</td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Jul</td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Ago</td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Set</td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Out</td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Nov</td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Dez</td> <td width="8%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Acumulado</td> <td width="8%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#3399FF">Saldo</td> </tr> <tr> <td width="6%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#00FFFF"> </td> <td width="21%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#00FFFF"> </td> <td width="7%" align="center" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" bgcolor="#00FFFF"> </td> <td width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#00FFFF"> </td> <td width="1%" style="font-family: Angsana New; font-size: 2 mm; border-style: solid; border-width: 0" bgcolor="#C0C0C0" valign="top"> </td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col1" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td c="col2" width="7%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#FFFFCC"> </td> <td width="8%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#00FFFF"> </td> <td width="8%" style="font-family: Arial; font-size: 7pt; font-weight: bold; color:#FFFFFF" align="center" bgcolor="#00FFFF"> </td> </tr> </table> </body> </html> Espero ajudar aos demais. Abraços, Lamenza
-
Obrigado Mr. Lomack! Vou avaliar a sua sugestão. Acho que dá certo! Depois posto aqui um comentário. Um abraço, Lamenza
-
Estou tentando escrever um código que exiba/oculte determinadas colunas de uma tabela. Use uma variável global para funcionar como "liga/desliga" da função. Ocorre que, mesmo alterando a variável, o liga/desliga não funciona. O código é esse: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Teste</title> <style> .cExibe{display:block;} .cOculta{display:none;} </Style> <script ID=clientEventHandlersJS LANGUAGE=javascript> <!-- var exibe = 1 function teste1(controle){ var c1 = document.getElementById('col_1'); var c2 = document.getElementById('col_2'); var c3 = document.getElementById('col_3'); var c4 = document.getElementById('col_4'); var c5 = document.getElementById('col_5'); var c6 = document.getElementById('col_6'); var c7 = document.getElementById('col_7'); var c8 = document.getElementById('col_8'); var c9 = document.getElementById('col_9'); var c10 = document.getElementById('col_10'); if (controle = 2 ) { document.seta.src = '../EAP/icones/exp_esq.PNG'; c1.style.display = 'block'; c2.style.display = 'block'; c3.style.display = 'block'; c4.style.display = 'block'; c5.style.display = 'block'; c6.style.display = 'block'; c7.style.display = 'none'; c8.style.display = 'none'; c9.style.display = 'none'; c10.style.display = 'none'; } if (controle = 1 ) { document.seta.src = '../EAP/icones/exp_dir.PNG'; c1.style.display = 'none'; c2.style.display = 'none'; c3.style.display = 'none'; c4.style.display = 'none'; c5.style.display = 'none'; c6.style.display = 'block'; c7.style.display = 'block'; c8.style.display = 'block'; c9.style.display = 'block'; c10.style.display = 'block'; } if (controle = 2 ) { exibe = 1 } else if (controle = 1 ) { exibe = 2 } } --> </Script> </head> <body> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="85%" ID="Tabela"> <colgroup> <col id="col_1" class="cExibe" /> <col id="col_2" class="cExibe" /> <col id="col_3" class="cExibe" /> <col id="col_4" class="cExibe" /> <col id="col_5" class="cExibe" /> <col id="col_6" class="cExibe" /> <col id="col_7" class="cOculta" /> <col id="col_8" class="cOculta" /> <col id="col_9" class="cOculta" /> <col id="col_10" class="cOculta" /> </colgroup> <tr> <td width="4%" align="center"> </td> <td width="28%"> </td> <td width="17%"> </td> <td width="17%"> </td> <td width="32%"> </td> <td width="1%" style="font-family: Angsana New; font-size: 2 mm; border-style: solid; border-width: 0" bgcolor="#C0C0C0" valign="top"> <img NAME="seta" border="0" src="../EAP/icones/exp_esq.PNG" alt="Deseja expandir a tabela?" onClick="teste1(exibe);" width="8" height="11"></td> <td width="28%"> </td> <td width="17%"> </td> <td width="17%"> </td> <td width="32%"> </td> </tr> <tr> <td width="4%"> </td> <td width="28%"> </td> <td width="17%"> </td> <td width="17%"> </td> <td width="32%"> </td> <td width="1%" style="font-family: Angsana New; font-size: 2 mm; border-style: solid; border-width: 0" bgcolor="#C0C0C0" valign="top"> </td> <td width="28%"> </td> <td width="17%"> </td> <td width="17%"> </td> <td width="32%"> </td> </tr> </table> </body> </html> O que está errado?
-
Obrigado fercosmig! Ocorre que essa situação não previne que o usuário salte do campo antes de terminar de preenche-lo corretamente. Com keypress o usuário vai iterando com a função de máscara se ele preencher todo o campo. No seu exemplo, num campo de data, se o usuário digitar somente o dia [DD/MM/AAAA], a função não funcionará. Pensei no evento onblur, para avaliar e validar o conteúdo do campo. É possível?
-
Tenho um campo que deve receber um número no formato [x,xx]. Existem muitas soluções para formatar o campo durante sua digitação, por exemplo, num campo de data, garantir que uma data seja digitada no formato [dd/mm/aaaa]. O evento onchange garante isso. Mas, como fazer que o formato seja respeitado se o usuário sai do campo? No meu caso, o usuário digitou [x] e saltou para outro campo, como fazer para formatar aquele valor para [x,00]?