Jump to content


Firebird_Master

Member Since 19/03/2007
Offline Last Active 16/09/2009, 08:25
-----

Topics I've Started

Funcao Javascript Só Funcina No Ff

03/08/2009, 15:16

Bom dia pessoal, sou novato no fórum e estou começando a programar em php e faço uso do JavaScript, gostaria da ajuda dos colegas em uma questão que para muitos devem passar pelo mesmo problema, é o seguinte tenho uma página simples de cadastro para geração de Boleto e tenho uma função de buscar cep que está legal e funciona, só que incrementei uma função de aguarde...com o gif de loading, pois bem ele funciona somente no FF e não no IE 7, alguém poderia me ajudar a resolvê-lo. abaixo o código:

codigo do cadastro.php
<HTML><HEAD><TITLE>:: Dados para Geração de Boleto </TITLE><script language="javascript" type="text/javascript" src="funcoes.js">        //esse bloco posiciona o div de carga mais ou menos no centro da página e o formata        .loading{                        display: none;                        background: #FFFFFF;                        position: absolute;                        width: 400;                        height: 200;                        top: 300;                        left: 400;                        border-style: solid;                        border-color: black;                        border-width: 1;                        text-align: center;                        text-transform: uppercase;                        font-family: arial;                        font-weight: bold;                        color: silver;                        z-index: 3;        }        .imgloading{                        padding-top: 15;                        font-family: arial;                        height: 130;        }</script></HEAD><body <strong class='bbc'>onLoad="java script:hideCarga()</strong>;">      <!-- div de carga enquanto carrega o resultado-->      <!--<div class="loading" id="carga">           <img class="imgloading" src="loading.gif"><br/><br/>buscando... por favor, Aguarde        </div> --><?  include("conecta.php");  include("funcoes.inc");  $erro="0";if ($_SESSION['iniciado']= 1){  if (isset ($valor)){      $_SESSION['cpf_cnpj']     = $cpf_cnpj        ;      $_SESSION['nome']         = $nome            ;      $_SESSION['usuario']      = $usuario         ;      $_SESSION['senha_cad']    = $senha_cad       ;      $_SESSION['email']        = $email           ;      $_SESSION['cep']          = $cep             ;      $_SESSION['rua']          = $_POST['rua']    ;      $_SESSION['numero']       = $_POST['numero'] ;      $_SESSION['bairro']       = $_POST['bairro'] ;      $_SESSION['cidade']       = $_POST['cidade'] ;      $_SESSION['uf']           = $_POST['uf']     ;      $_SESSION['telefone']     = $telefone        ;      $_SESSION['url']          = $url             ;      $_SESSION['receber']      = $receber         ;      $_SESSION['valorboleto']  = $valorboleto     ;      //echo "CADASTRO.PHP ".$_POST['rua']."-".$bairro."-".$cidade."-".$uf."<br>";      if (strlen ($_SESSION['cpf_cnpj']) < 1) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo CPF.<BR>");          echo ("</font>");          echo "$cpf_cnpj";          $erro = 1;      }      if (strlen ($_SESSION['nome']) < 1) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Nome.<BR>");          echo ("</font>");          $erro = 1;      }      if (strlen ($_SESSION['usuario']) < 1) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Usuário.<BR>");          echo ("</font>");          $erro = 1;      }      if (strlen ($_SESSION['senha_cad']) < 1) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Senha.<BR>");          echo ("</font>");          $erro = 1;      }      if ($_SESSION['senha_cad']!=$consenha){          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("A confirmação não confere com a senha.<BR>");          echo ("</font>");          $erro = 1;      }      if (strlen ($_SESSION['email']) < 1) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo E-mail.<BR>");          echo ("</font>");          $erro = 1;      }      if (strlen ($_SESSION['cep']) < 1) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Cep.<BR>");          echo ("</font>");          $erro = 1;      }      if ($_SESSION['rua']= "") {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Rua.<BR>");          echo ("</font>");          $erro = 1;      }      if ($_SESSION['bairro']="") {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Bairro.<BR>");          echo ("</font>");          $erro = 1;      }      if ($_SESSION['cidade']="") {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Cidade.<BR>");          echo ("</font>");          $erro = 1;      }      if ($_SESSION['uf']="") {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo UF.<BR>");          echo ("</font>");          $erro = 1;      }      if (strlen ($_SESSION['telefone']) < 1) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Telefone.<BR>");          echo ("</font>");          $erro = 1;      }      if (strlen ($_SESSION['valorboleto']) < 1 ) {          echo ("<font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("Preencha o campo Valor.<BR>");          echo ("</font>");          $erro = 1;      }      if ($erro == 0){         $fecha="t";         include("grava_dados.php");      }else{          echo ("<BR><font face='Arial, Helvetica' size='-1' color='#ff0000'>");          echo ("<B>Por favor preencha os campos corretamente.</B><BR>");          echo ("</font>");      }  }}//include ("debug.php");    if (! isset ($fecha)) {?><BR>    <form action="cadastro.php" method="post"><input type="hidden" size="1" value="t" name="valor">    <table cellspacing=0 cellpadding=0 width=450 border=0>       <tbody>              <tr valign="top">                  <td bgcolor=#000000 height="40">                      <table cellspacing=1 cellpadding=2 width=450 border=0>                             <tbody>                                    <tr bgcolor="#addbfc">                                        <td width="100%">                                            <font face="verdana, arial" size="2" color='#000000'>                                            <centeR><b>Dados para Geração do Boleto</b></centeR>                                        </td>                                    </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">C.P.F/CNPJ(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='40' name='cpf_cnpj' onKeyPress="cpfcnpj(this)" maxlength="18"></td></tr></table></td>                               </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Nome(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='40' name='nome' maxlength="50"></td></tr></table></td>                               </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Usuário(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='20' name='usuario' maxlength="20"></td></tr></table></td>                               </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Senha(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='password' size='15' name='senha_cad' maxlength="12"></td></tr></table></td>                               </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Confirmar Senha(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='password' size='15' name='consenha' maxlength="12"></td></tr></table></td>                               </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">E-mail(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='30' name='email' maxlength="50"></td></tr></table></td>                               </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%" height="33"><font face="Verdana, Arial, Tahoma" size="1">                                         <div align="right">Cep(*):</div></td><td width="5%"></td>                                                                                  <td width="65%" align="left"></font>                                           <input type='text' size='20' id="cep" name='cep' onKeyPress="mascara(this, '########')" maxlength="8">                                         <a style="cursor: pointer;" onClick="showCarga()" href="java script: funcaowebservicecep();"> Buscar Endere&ccedil;o </a></td>                                         <strong class='bbc'><td id="tblcarregar" width="5%" align="left"><div class="loadin" id="carga"><img src="loading.gif" width="32" height="32"></td></strong>                                       </table>                             </td>                                    </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Logradouro(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='30' id="rua" name="rua" maxlength="25"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Numero(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='30' id="numero" name="numero" maxlength="15"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Complemento:</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='30' id="complemento" name="complemento" maxlength="50"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Bairro(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='30' id="bairro" name="bairro" maxlength="50"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Cidade(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='30' id="cidade" name="cidade" maxlength="50"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">UF(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='30' id="uf" name="uf" maxlength="25"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Telefone(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='20' name='telefone'onkeypress="mascara(this, '####-####')" maxlength="9"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">URL:</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='40' name='url' value='http://' maxlength="50"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">Valor do Boleto(*):</div></td><td width="5%"></td><td width="70%" align="left"></font><input type='text' size='40' name='valorboleto'  id="valorboleto" value='' maxlength="15" onKeyPress="return(formataMoeda(this,',','.',event))"></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="5%"></td><td width="20%"><font face="Verdana, Arial, Tahoma" size="1"><div align="right">receber infos:</div></td><td width="5%"></td><td width="70%" align="left"></font><input type="checkbox" name='receber' value="s" checked></td></tr></table></td>                                     </tr>                                    <tr bgcolor="#FFFFFF">                                       <td width="100%"><table border="0" width="100%"><tr><td width="20%"></td><td width="40%"><input type="submit" name="Entrar" value="Cadastrar" class="button"></td><td width="10%"></font><input type="reset" name="Limpar" value="Limpar" class="button"></td><td width="30%"></td></tr></table></td>                                     </tr>                                     </form>                             </tbody>                      </table>                  </td>              </tr>       </tbody>    </table><BR><BR></body></html><? } ?>agora a função do java script:// Funções em Java Scriptfunction mascara(src, mask){var i = src.value.length;var saida = mask.substring(0,1);var texto = mask.substring(i)if (texto.substring(0,1) != saida){src.value += texto.substring(0,1);}}function Limpar(valor, validos) {// retira caracteres invalidos da stringvar result = "";var aux;for (var i=0; i < valor.length; i++) {aux = validos.indexOf(valor.substring(i, i+1));if (aux>=0) {result += aux;}}return result;}function formataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){    var sep = 0;    var key = '';    var i = j = 0;    var len = len2 = 0;    var strCheck = '0123456789';    var aux = aux2 = '';    //var whichCode = (window.Event) ? e.which : e.keyCode;    var whichCode = (window.addEventListener) ? e.which : e.keyCode;    // 13=enter, 8=backspace as demais retornam 0(zero)    // whichCode==0 faz com que seja possivel usar todas as teclas como delete, setas, etc    if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))    	return true;    key = String.fromCharCode(whichCode); // Valor para o código da Chave    if (strCheck.indexOf(key) == -1)    	return false; // Chave inválida    len = objTextBox.value.length;    for(i = 0; i < len; i++)        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal))        	break;    aux = '';    for(; i < len; i++)        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1)        	aux += objTextBox.value.charAt(i);    aux += key;    len = aux.length;    if (len == 0)    	objTextBox.value = '';    if (len == 1)    	objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;    if (len == 2)    	objTextBox.value = '0'+ SeparadorDecimal + aux;    if (len > 2) {        aux2 = '';        for (j = 0, i = len - 3; i >= 0; i--) {            if (j == 3) {                <!--aux2 += SeparadorMilesimo;-->                j = 0;            }            aux2 += aux.charAt(i);            j++;        }        objTextBox.value = '';        len2 = aux2.length;        for (i = len2 - 1; i >= 0; i--)        	objTextBox.value += aux2.charAt(i);        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);    }    return false;}function cpfcnpj(objTextBox){  var vlr =  objTextBox.value.length  //window.alert("Entrou na Funcao");  //testo o tamanho do campo e quando atingir três caracteres coloco o ponto.  if(objTextBox.value.length == 3){    //para exemplo dei nome para o form de a e pro campo de b, o que pode ser mudado.    objTextBox.value = objTextBox.value + '.';    return false;  }  //agora testo ao sétimo digito que é onde vai o segundo ponto na mascara para o cpf.  if(objTextBox.value.length == 7){     objTextBox.value = objTextBox.value + '.';     return false;  }  //e final mente o traço do digito verificador  if(objTextBox.value.length == 11){    objTextBox.value = objTextBox.value + '-';    return false;   }  //agora é que fico sabendo se o campo é um cnpj, se tiver 15 caracteres pego todos eles pra dentro  //de variáveis, sei que da pra fazer com um array mas assim fica fácil da galera entender.  if(objTextBox.value.length == 15){    //aqui uso charAt(0) que me retorna um caracter especifico, assim posso pegar apenas os números    //do cpf e não os pontos e o traço.    p0=objTextBox.value.charAt(0);    p1=objTextBox.value.charAt(1);    p2=objTextBox.value.charAt(2);    p3=objTextBox.value.charAt(4);    p4=objTextBox.value.charAt(5);    p5=objTextBox.value.charAt(6);    p6=objTextBox.value.charAt(8);    p7=objTextBox.value.charAt(9);    p8=objTextBox.value.charAt(10);    p9=objTextBox.value.charAt(12);    p10=objTextBox.value.charAt(13);    p11=objTextBox.value.charAt(14);        //limpo o campo pra depois colocar o cnpj.    objTextBox.value = '';    //e faço uma concatenação das variáveis    objTextBox.value = p0 + p1 + '.' + p2 + p3 + p4 + '.' + p5 + p6 + p7 + '/' + p8 + p9 + p10 + p11 + '-';    return false;  }}//------------------------------------------------------------------------// Web Service CEP, desenvolvido por Evanil Rosano de Paula.// Este Web Service está habilitado para funcionar em qualquer servidor, // no entanto terá melhor desempenho em sites hospedados pela Via Virtual.// Visite nosso site e conheça nossos serviços.// Via Virtual - Solucões WEB// [url="http://www.viavirtual.com.br"]http://www.viavirtual.com.br[/url]//-------------------------------------------------------------------------function getHTTPObject() {  var xmlhttp;  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {    try {      xmlhttp = new XMLHttpRequest();      } catch <img src='http://forum.wmonline.com.br/public/style_emoticons/default/envelope.gif' class='bbc_emoticon' alt='(e)' /> {      xmlhttp = false;      }    }  return xmlhttp;  }var http = getHTTPObject();function funcaowebservicecep() {    //window.setTimeout("Funcao()", 30000);	http.open("GET", 'buscarendereco.php?cep='+document.getElementById("cep").value, true);	http.onreadystatechange = handleHttpResponse;	http.send(null);	var arr; //array com os dados retornados	function handleHttpResponse() 	{        //window.setTimeout("hideCarga()", 1000);            /*            * 0 = uninitialized (não inicializado)            * 1 = loading (carregando)            * 2 = loaded (carregado)            * 3 = interactive (interagindo)            * 4 = complete (pronto)            */		if (http.readyState == 4)		{		    window.setTimeout("hideCarga()", 100);			var response = http.responseText;			eval("var arr = "+response); //cria objeto com o resultado			document.getElementById("rua").value = arr.rua;			document.getElementById("bairro").value = arr.bairro;			document.getElementById("cidade").value = arr.cidade;			document.getElementById("uf").value = arr.uf;		}	}}<strong class='bbc'>function showCarga(){         document.getElementById('carga').style.display="block";         return;}function hideCarga(){         document.getElementById('carga').style.display="none";         return;}</strong>

agradeço pelo interesse, obrigado....

mais um detalhe ele só não funciona no IE 6 - em versões superiores está ok!!!

:rolleyes:

IPB Skin By Virteq