Ir para conteúdo
Fórum Script Brasil

Paulada

Membros
  • Total de itens

    14
  • Registro em

  • Última visita

Tudo que Paulada postou

  1. Olá pessoal, boa tarde. Tenho uma dúvida referente a padronização de namespaces no PHP e preciso saber qual seria a forma correta para trabalhar com eles de acordo com a PSR-0, portanto se alguém daqui pelo menos me der uma luz guia agradeço muito. Estava colocando namespaces em PHP e utilizando com o mesmo raciocínio do package do Java: br.com.meudominio.sistema.controller, sendo que cada um termo separado pelo ponto é um diretório quando utilizo o Java. Já no PHP tentei fazer parecido desta forma: br\com\meudominio\sistema\controller e aí que me pairaram as dúvidas. Lendo a documentação da PSR-0 no git do PHP Fig (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md) e assistindo a algumas aulas percebi que existe uma pasta chamada vendor que me parece ser utilizada para definir "um pacote de terceiro" e aí a nomenclatura ficaria assim: \Doctrine\Common\IsolatedClassLoader => /path/to/project/lib/vendor/Doctrine/Common/IsolatedClassLoader.php Mas pelo que percebi, o namespace é declarado depois da pasta vendor e aí a declaração no arquivo php ficaria algo assim: namespace \Doctrine\Common; Reparei que a pasta vendor parece ficar (no máximo) a apenas dois diretórios de distância do arquivo php com é o caso acima. Então, baseado nessas informações ou na forma correta de utilização deste padrão (que não sei se entendi direito) eu deveria utilizar algo assim na estrutura de pastas do meu projeto? br\com\meudominio\vendor\sistema\controller E depois referenciar o meu namespace desta forma: sistema\controller? Muito obrigado pela atenção
  2. Olá pessoal! Tenho uma dificuldade que anda me tirando o sono e se puderem me ajudar, agradeço. Antes, farei um apanhado básico para que entendam o meu procedimento. Tenho em um sistema uma tabela Pagamento, outra chamada Item_Pagamento e mais uma chamada de nome Conta. No meu formulário, preciso associar várias contas que estão na tabela Conta a um determinado pagamento que está na tabela Pagamento. Esta associação é feita na tabela Item_Pagamento. O que faço nestas funções? Na função salvarItemPgto(), pego o valor de todos os ítens do tipo checkbox de nome itempgto. Perrcorro a lista de ítens de nome itempgto e quando estão "checados" como true, chamo a função verificaRegistroItem_Pgto(itempgto.value,cd_pagamento) para ver se aquele registro já existe no banco. Se o registro já existir, não faço nada e continuo percorrendo a lista de checkbox, se não existir, chamo a função inserirItem_Pgto(Dados.cd_conta,Dados.cd_pagamento) para inserir um ítem na tabela Item_Pagamento e depois continuo percorrendo a lista de checkbox.O que está acontecendo de errado(Qual o meu problema): Toda a vez que marco mais de um checkbox, ele deveria fazer a varredura em todos os checkbox, ir verificando quem está marcado como true e que não existe no banco e em seguida, inserir no banco, mas o que acontece é que se eu marcar 2 checkbox por exemplo, quando eu clicar no botão Incluir Contas, ele só insere o primeiro que está marcado, e caso eu queira inserir o segundo, tenho que clicar novamente no botão Incluir Contas e assim por diante. No entanto, se eu "encher o código de alert" para ir ver onde está o erro, este erro não acontece, pois desta maneira, basta apenas eu clicar uma vez em Incluir Contas que ele inclui todos os registros marcados perfeitamente. O que eu já tentei fazer: Me disseram que é porque o Ajax é assíncrono, mas mesmo eu colocando false no atributo Async, não rola.Coloquei uma simulação de sleep para ver se quando o código executa mais devagar ele rola, mas isto também não funcionou. Função que percorre os ítens do tipo checkbox e chama as funções para verficação. function salvarItemPgto(){ var cd_pagamento = document.getElementById('cd_pagamento').value; var itempgto = document.getElementsByName('itempgto'); if(cd_pagamento != ""){ for(i=0;i<itempgto.length;i++){ if(itempgto[i].checked == true){ verificaRegistroItem_Pgto(itempgto[i].value,cd_pagamento); } else{ document.getElementById('aviso').innerHTML = "<p>Este item já existe ou não está marcado</p>"; } } } else { document.getElementById('aviso').innerHTML = "<p>Deve existir um Pagamento em aberto!</p>"; } } Função utilizada para verificar se registro já existe e se não existir, chama a função de inserir no Banco function verificaRegistroItem_Pgto(cd_conta,cd_pagamento){ AJAX.Url = '../requisicoes/phpItemPgto.php'; AJAX.Metodo = 'POST'; AJAX.DadosSend = 'strAcao=cmdVerifica'; AJAX.DadosSend+= '&cd_pagamento='+cd_pagamento; AJAX.DadosSend+= '&cd_conta='+cd_conta; AJAX.AjaxExecute(true); AJAX.CallBack = function(Dados){ if(Dados.status==1){ document.getElementById('aviso').innerHTML = Dados.strResposta; } else if(Dados.status==0){ document.getElementById('aviso').innerHTML = Dados.strResposta; inserirItem_Pgto(Dados.cd_conta,Dados.cd_pagamento); } } } Função para inserção do registro no banco function inserirItem_Pgto(cd_conta,cd_pagamento){ AJAX.Url = '../requisicoes/phpItemPgto.php'; AJAX.Metodo = 'POST'; AJAX.DadosSend = 'strAcao=cmdIncluir'; AJAX.DadosSend+= '&cd_pagamento='+cd_pagamento; AJAX.DadosSend+= '&cd_conta='+cd_conta; AJAX.AjaxExecute(true); AJAX.CallBack = function(Dados){ if(Dados.status==1){ document.getElementById('aviso').innerHTML = Dados.strResposta; } else{ document.getElementById('aviso').innerHTML = Dados.strResposta; } } } :mellow:
  3. Olá, vi que no seu código há uma implementação de fila, você tem algum programa de fila já testado? Se sim, esta implementação de fila funciona? :)
  4. Olá Boa tarde É com grande prazer que volto a postar neste fórum. Gostaria de solucionar uma dúvida. Preciso alterar o nome sistema que está escrito na tela abaixo e escrever outro nome qualquer em seu lugar. Esta alteração é feita em um xml chamado web.xml e para alterá-lo, abro o xml, altero o parâmetro e salvo o arquivo. A alteração é bem fácil e funciona, mas o problema é que a alteração deste parâmetro faz com que eu não consiga mais logar na aplicação. arquivo web.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="web.xsl"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>SIAS</display-name> <distributable /> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>all</param-value> </context-param> <context-param> <param-name>org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS</param-name> <param-value>100</param-value> </context-param> <context-param> <param-name>org.jboss.seam.core.init.debug</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>javax.faces.DEFAULT_SUFFIX</param-name> <param-value>.jsp</param-value> </context-param> <context-param> <description> A aplicação usa o serviço de profiler </description> <param-name>siglaAplicacao</param-name> <param-value>sistema</param-value> </context-param> <context-param> <description> A aplicação usa o serviço de profiler </description> <param-name>nomeAplicacao</param-name> <param-value>sistema</param-value> </context-param> </web-app> A solução que pensei foi alterar a cor da fonte da palavra sistema para ficar igual a cor de fundo da tela. Para isso, inseri a linha: <?xml-stylesheet type="text/xsl" href="web.xsl"?> no começo do código fonte do xml e escrevi o estilo xsl abaixo, mas não rolou. arquivo web.xsl <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <web-app> <context-param> <xsl:for-each select="context-param"> <param-name style="color:#DDDDDD"></param-name> <param-name style="color:#DDDDDD"></param-name> </xsl:for-each> </context-param> </web-app> </xsl:template> </xsl:stylesheet> Enfim, eu queria que ficasse como na figura abaixo: Só que não ficou. Gostaria de saber se é possível alterar a cor palavra sistema contido no arquivo web.xml.
  5. Olá a todos! Estou com um problema na função getElementById no navegador Internet Explorer 6, 7 e 8. Tenho um select em um determinado formulário que traz todas as ruas relacionadas a um determinado bairro, mas isto não funciona no IE. Alguém poderia me dizer o que está acontecendo? Já tentei utilizar getElementByName, mas aí não funciona em nenhum navegador, o código está abaixo. function completarBairroSolicitacao(){ var bairro = document.getElementById("cod_bairro").options[document.getElementById("cod_bairro").selectedIndex].value; AJAX.Url = 'RequisicoesAjax/phpPesquisa.php'; AJAX.Metodo = 'POST'; AJAX.DadosSend = 'strAcao=cmdBairro'; AJAX.DadosSend+= '&bairro='+bairro; AJAX.AjaxExecute(); AJAX.CallBack = function(Dados){ document.getElementById("cod_rua").innerHTML = Dados; } } :(
  6. Paulada

    Linux

    Pôxa! Aqui no meu serviço utilizamos várias distros. Na minha máquina eu uso o Ubuntu 9.04 porque acho que o reconhecimento de hardware dele é o melhor de todos e a quantidade de programas compatíveis também. Instalamos o Wine por aqui porque trabalhamos com Web e por isso precisamos rodar o Dreamweaver 8, Fireworks 8, o Flash 8 e o IE6, pois precisamos testar constantemente o JavaScript nos browsers. Na máquina do cara que trabalha comigo está instalado o Arch Linux. Ele demorou 2 dias instalando o SO porque preferiu compilar todo o sistema, pois o desempenho a mais é considerável, pois as máquinas daqui são da Itautec e bem lentas. Este cara também não gosta do Ubuntu. :angry: Na máquina da frente da minha tem um Mint Linux instalado e que posso dizer que é um Ubuntu mais bonito (bem mais), mas ainda prefiro o Ubuntu. No nosso servidor de teste há um Debian 5 instalado e te digo que é show de bola porque ele é muito estável mesmo, eu recomendo este SO para ser usado em servidor com certeza! Antes de instalarmos ele tentamos o CentOS, mas ficar configurando repositórios na mão por vezes nos trouxe surpresas desagradáveis e o Debian nos acolheu de tal forma que virou nossa distribuição oficial para nossos servidores. Instalamos nele o PHP 5, compilamos a biblioteca do Oracle no PHP, instalamos o Drupal, rodamos o MySQL, WebMin, PHPMyadmin, temos o Tomcat 6 nele para rodar aplicações JAVA, também o utilizamos como servidor de arquivos usando o Samba e também como servidor Web, pois instalamos o Apache nele, fora também que ele é servidor de backup, mas sinceramente eu não recomendo o Debian para desktop porque acho que a detectação de hardware dele é fraca e ele é meio crú para um usuário que ainda tem a cabeça no Windows. Enfim, tomando por base um usuário que está aprendendo Linux, recomendo usar o Ubuntu, pois ele vai perceber que o Linux não é um bicho de 7 cabeças e sim um sistema operacional decente e também pela facilidade com que ele vai encontrar as coisas, pois muitos tem resistência de procurar, compilar, editar e etc. Depois que o usuário já estiver bem enturmado com o Ubuntu, aí sim ele pode partir para um CentOS, Arch, Gentoo, quem sabe até o Slackware entre outros. Olha, me disseram que o Big Linux também é bem usuário final, meu vizinho usou e disse que tá preferindo ele ao Kurumin. Eu já usei muito o Mandrake, que virou Mandriva e digo que esta também é uma distribuição linda, aliás o pacote Power Pack, que é pago, tem muitos programas bons. Resumo da balada, recomendo o Ubuntu. :rolleyes:
  7. Realmente, está corretíssimo. Muito obrigado, já vou colocar o post como resolvido. Meu Deus! :ninja:
  8. OLa a todos! Boa tarde Já que me tornei um estudante de JavaScript, tenho postado constantemente para resolver algumas dúvidas do que estou aprendendo e por isso estou voltando a postar hoje. O programa é bem simples(espero que o problema também seja :blush: ). Tenho uma página em html que contém apenas uma tag select de estados do Brasil e que, quando clico em um deles é mostrado para mim um valor de moeda logo à direita. O meu problema é que a função funciona normalmente no Intenet Explorer, mas quando eu executo a página no Firefox, tenho sempre de apertar depois a tecla TAB, para aí sim serem mostrados os valores referentes a cada estado. Mesmo eu clicando nos nomes dos estados, não rola, só depois de pressionar TAB. Tenho 2 arquivos em javascript, 1 em html e 1 em php. Imagino que a função responsável para buscar o valor(value) do campo select do html esteja no arquivo exemplo9.js, linha 3, que se não me engano deve ser a função getElementById. O que fazer para que o Firefox redirecione o seu foco para dentro do select logo na primeira execução da página? exemplo9.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRansitional//EN" "http://www.w3.org/TR/html14/loose.dtd"> <html> <head> <title>Web Interativa com Ajax</title> &lt;script type="text/javascript" src="bibliotecaAjax.js"></script> &lt;script type="text/javascript" src="exemplo9.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <h2 align="center">Formulário de compra</h2> <form action="java script:void%200"> <p align="center"> Estado: </p> <select name="estado" id="estado" size="1"> <option value="">Escolha aqui</option> <option value="AC">Acre</option> <option value="AL">Alagoas</option> <option value="AM">Amazonas</option> <option value="AP">Amapá</option> <option value="BA">Bahia</option> <option value="CE">CE</option> <option value="DF">Distrito Federal</option> <option value="ES">Espírito Santo</option> <option value="GO">Goiás</option> <option value="MA">Maranhão</option> <option value="PA">Pará</option> <option value="PB">Paraíba</option> <option value="PE">Pernambuco</option> <option value="PI">Piauí</option> <option value="PR">Paraná</option> <option value="RJ">Rio de Janeiro</option> <option value="RN">Rio Grande do Norte</option> <option value="RO">Rondônia</option> <option value="RR">Roraima</option> <option value="RS">Rio Grande do Sul</option> <option value="SC">Santa Catarina</option> <option value="SE">Sergipe</option> <option value="SP">São Paulo</option> <option value="TO">Tocantins</option> </select> <span id="frete"></span> </form> </body> </html> exemplo9.js window.onblur = function() { var estado = document.getElementById("estado"); estado.onchange = function() { exibeFrete(estado); } } function exibeFrete(estado) { if(estado == null) { return; } selecionado = estado.options[estado.selectedIndex].value; var url="exemplo9.php?estado="+encodeURIComponent(selecionado); requisicaoHTTP("GET",url,true); } function trataDados() { var info = ajax.responseText; // obtém a resposta como string var resposta = document.getElementById("frete"); resposta.innerHTML = info; } bibliotecaAjax.js var ajax; var dadosUsuario; //------------- cria o objeto e faz a requisição ------------ function requisicaoHTTP(tipo,url,assinc) { if(window.XMLHttpRequest) { ajax = new XMLHttpRequest(); // Mozilla, Safari,... } else if(window.ActiveXObject) //IE { ajax = new ActiveXObject("Msxml2.XMLHTTP"); if(!ajax) { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } } if(ajax) // iniciou com sucesso { iniciaRequisicao(tipo,url,assinc); } else { alert("Seu navegador não pussui suporte a essa aplicação!"); } } //------------- Inicializa o objeto criado e envia os dados (se existirem) ----- function iniciaRequisicao(tipo,url,bool) { ajax.onreadystatechange = trataResposta; ajax.open(tipo,url,bool); if(window.XMLHttpRequest) { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); ajax.overrideMimeType("text/XML"); /* usado somente no Mozilla */ } else { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); } ajax.send(dadosUsuario); } // ------------ Inicia requisição com envio de dados ------------- function enviaDados(url) { criaQueryString(); requisicaoHTTP("POST",url,true); } // ------------ Cria a string a ser enviada, formato campo1 = valor1&campo2=valor2... ------- function criaQueryString() { dadosUsuario=""; var frm = document.forms[0]; var numElementos = frm.elements.length; for(var i = 0; i < numElementos; i++) { if(i < numElementos-1) { dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value)+"&"; } else { dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value); } } } // ------------ Trata a resposta do servidor --------------- function trataResposta() { if(ajax.readyState == 4) { if(ajax.status == 200) { trataDados(); // criar essa função no seu programa } else { alert("Problema na comunicação com o objeto XMLHttpRequest"); } } } exemplo9.php <?php $gmtDate = gmdate("D, d M Y H:i:s"); header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html; charset=ISO-8859-1"); // array de preços de Frete $frete = array ( "AC" => "15,00", "AL" => "14,00", "AM" => "14,00", "AP" => "14,00", "BA" => "13,00", "CE" => "13,00", "DF" => "11,00", "ES" => "11,00", "GO" => "10,00", "MA" => "13,00", "MG" => "9,00", "MS" => "14,00", "MT" => "12,00", "PA" => "15,00", "PB" => "14,00", "PE" => "14,50", "PI" => "15,00", "PR" => "9,00", "RJ" => "9,00", "RN" => "15,00", "RO" => "15,00", "RR" => "15,00", "RS" => "9,50", "SC" => "9,00", "SE" => "14,50", "SP" => "7,00", "TO" => "13,00" ); $estado = $_GET["estado"]; if(isset($frete[$estado])) { echo "O valor do frete é R\$".$frete[$estado]; } ?> :blink:
  9. A vida é só um jogo cheio de fases.

  10. Para editar código fonte de maneira "bonita" recomendo o NetBeans. Depois que você o instala é possível baixar plugins nele para poder programar em outras linguagens além do Java. Ultimamente eu o tenho usado para programar em PHP, JavaScript, C, CSS e html. O legal é quando você vai escrevendo seu código ele já vai completando. No caso do JavaScript ele até diz em qual navegador aquele script funciona. Eu uso diversas distribuições Linux e já usei vários editores de PHP, mas sem dúvida o NetBeans está virando padrão para mim. :blush:
  11. Caramba! Você tem razão e que por sinal é uma bela observação sobre o id do html. Na verdade eu que sou estudante, entendo isso como um descuido do autor. Ando estudando muito JavaScript e Ajax e fico até envergonhado de estar enchendo o saco de vocês com frequência. Olha, muito obrigado, muito obrigado mesmo, pois este código estava emperrando os meus estudos e agora posso continuar. Inclusive vou mudar o nome do post para não confundir as pessoas que entram aqui. Valeu! Este fórum é muito sinistro. :lol:
  12. Não ocorre erro no Firefox, mas suponho que algo errado esteja acontecendo na linha 7 do Exemplo7.js, pois é ali que está a função onblur, que é responsável para pegar o foco do cursor.
  13. Ola a todos! Estou fazendo alguns códigos para serem utilizados em um sistema que tenho de produzir e uma das coisas que gostaria de implementar é fazer com que a função onblur do javascript chame uma página em php para consultar no banco se aquele campo já existe, mas pelos exemplos do livro que estou estudando só consegui fazer isso funcionar no Internet Explorer. O chato é que a ferramenta Firebug do Firefox não detecta nenhum erro, então como a função onblur(que está no arquivo Exemplo7.js) é responsável por pegar o foco do cursor quando movimentado, estou supondo que o problema seja nela. O exemplo é bem simples, há 1 página em html, 2 em javascript e 1 em php. No html há 2 inputs, no qual se você digitar as palavras juliano ou joao no primeiro e der tab, ele consulta um array no php e mostra de que aqueles nomes já existem, mas se você digitar qualquer outra palavra, ele diz que o username está ok. O código está perfeito e pode ser aproveitado por outras pessoas do fórum, mas eu gostaria de fazê-lo funcionar no Firefox. Alguém pode ajudar? :blink: Exemplo7.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRansitional//EN" "http://www.w3.org/TR/html14/loose.dtd"> <html> <head> <title>Web Interativa com Ajax</title> &lt;script type="text/javascript" src="bibliotecaAjax.js"></script> &lt;script type="text/javascript" src="exemplo7.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <h2>Formulário de Cadastro</h2> <form action="java script:void%200"> <p> Preencha o formulário: </p> <p> Escolha um username: <input name="username" type="text"> </p> <p> Seu nome completo: <input name="nome" type="text"> </p> <p> Aqui podem ser colocados outros <br>campos e um botão para enviar... </p> </form> </body> </html> Exemplo7.js window.onload = function() { var texto = document.getElementById("username"); if(texto != null) { texto.onblur = function() { testaUsuario(texto.value);} } } function testaUsuario(username) { if(username) { var url ="exemplo7.php?username="+encodeURIComponent(username); requisicaoHTTP("GET",url,true); } } function trataDados() { var info = ajax.responseText; // obtém a resposta como string alert(info); } Exemplo7.php <?php $gmtDate = gmdate("D, d M Y H:i:s"); header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html; charset=ISO-8859-1"); // array de usuários supostamente existentes $usuarios = array ("juliano", "joao"); $valido = 1; $username = strtolower($_GET["username"]); for($i=0; $i<sizeof($usuarios); $i++) { // compara o username digitado com os elementos do array if($usuarios[$i] == $username) { $valido = 0; } } if($valido) { echo "Username OK!"; } else { echo "Username já existe! Escolha outro!"; } ?> bibliotecaAjax.js var ajax; var dadosUsuario; //------------- cria o objeto e faz a requisição ------------ function requisicaoHTTP(tipo,url,assinc) { if(window.XMLHttpRequest) { ajax = new XMLHttpRequest(); // Mozilla, Safari,... } else if(window.ActiveXObject) //IE { ajax = new ActiveXObject("Msxml2.XMLHTTP"); if(!ajax) { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } } if(ajax) // iniciou com sucesso { iniciaRequisicao(tipo,url,assinc); } else { alert("Seu navegador não pussui suporte a essa aplicação!"); } } //------------- Inicializa o objeto criado e envia os dados (se existirem) ----- function iniciaRequisicao(tipo,url,bool) { ajax.onreadystatechange = trataResposta; ajax.open(tipo,url,bool); if(window.XMLHttpRequest) { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); ajax.overrideMimeType("text/XML"); /* usado somente no Mozilla */ } else { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); } ajax.send(dadosUsuario); } // ------------ Inicia requisição com envio de dados ------------- function enviaDados(url) { criaQueryString(); requisicaoHTTP("POST",url,true); } // ------------ Cria a string a ser enviada, formato campo1 = valor1&campo2=valor2... ------- function criaQueryString() { dadosUsuario=""; var frm = document.forms[0]; var numElementos = frm.elements.length; for(var i = 0; i < numElementos; i++) { if(i < numElementos-1) { dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value)+"&"; } else { dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value); } } } // ------------ Trata a resposta do servidor --------------- function trataResposta() { if(ajax.readyState == 4) { if(ajax.status == 200) { trataDados(); // criar essa função no seu programa } else { alert("Problema na comunicação com o objeto XMLHttpRequest"); } } } Obrigado pela atenção. :rolleyes:
  14. Olá amigo! Agradeço por ter editado os "codes" de meu tópico, ficou mais bonito, da próxima vez prometo que vou deixá-lo da mesma forma. A respeito do código "response", sim, ele deverá mesmo ficar em letras minúsculas, pois fiz o teste nos 2 navegadores deste jeito e funcionou perfeitamente. Muito obrigado mais uma vez, está resolvido! :lol:
  15. Olá a todos Este é o meu primeiro post neste fórum que já há tempos utilizo para consulta, porém agora chegou minha vez de postar aqui. Vou ser objetivo. Comprei o livro "Web Interativa com Ajax e PHP" do escritor Juliano Niederauer e descobri alguns bugs. Entrei na página do autor, lhe enviei um email, mas ele não respondeu. Por isso, gostaria de resolver uma dúvida se puderem me ajudar. Logo abaixo seguem 4 arquivos, um xml, um html e dois js. Sua execução é bem simples. Você executa a página html e ela usa o arquivo exemplo2.js para buscar informações no arquivo teste.xml e trazer para a tela no arquivo exemplo2.html. Este processo funciona perfeitamente no Internet Explorer, mas não no Firefox. Segundo o plugin Firebug do Navegador Firefox o erro está na linha 4 do arquivo exemplo2.js ( var raiz = documentoXML.getElementsByTagName('raiz').item(0);\n). Enfim, como executar isso corretamente no Firefox? Arquivo exemplo2.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRansitional//EN" "http://www.w3.org/TR/html14/loose.dtd"> <html> <head> <title>Web Interativa com Ajax</title> &lt;script type="text/javascript" src="bibliotecaAjax.js"></script> &lt;script type="text/javascript" src="exemplo2.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <h2>Lendo uma resposta XML </h2> <form action="java script:void%200" onSubmit="requisicaoHTTP('GET','teste.xml',true); return false"> <p><input type="submit" name="Testar" value="Testar"> <span id="campoResposta"></span></p> </form> </body> </html> Arquivo exemplo2.js function trataDados() { var documentoXML = ajax.ResponseXML; // obtém a resposta como XML var raiz = documentoXML.getElementsByTagName('raiz').item(0); var info = raiz.firstChild.data; document.getElementById("campoResposta").style.backgroundColor="yellow"; document.getElementById("campoResposta").innerHTML=info; } Arquivo teste.xml <?xml version="1.0" ?> <raiz> Isto é um teste. </raiz> Arquivo bibliotecaAjax.js var ajax; var dadosUsuario; //------------- cria o objeto e faz a requisição ------------ function requisicaoHTTP(tipo,url,assinc) { if(window.XMLHttpRequest) { ajax = new XMLHttpRequest(); // Mozilla, Safari,... } else if(window.ActiveXObject) //IE { ajax = new ActiveXObject("Msxml2.XMLHTTP"); if(!ajax) { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } } if(ajax) // iniciou com sucesso { iniciaRequisicao(tipo,url,assinc); } else { alert("Seu navegador não pussui suporte a essa aplicação!"); } } //------------- Inicializa o objeto criado e envia os dados (se existirem) ----- function iniciaRequisicao(tipo,url,bool) { ajax.onreadystatechange = trataResposta; ajax.open(tipo,url,bool); if(window.XMLHttpRequest) { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); ajax.overrideMimeType("text/XML"); /* usado somente no Mozilla */ } else { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); } ajax.send(dadosUsuario); } // ------------ Inicia requisição com envio de dados ------------- function enviaDados(url) { criaQueryString(); requisicaoHTTP("POST",url,true); } // ------------ Cria a string a ser enviada, formato campo1 = valor1&campo2=valor2... ------- function criaQueryString() { dadosUsuario=""; var frm = document.forms[0]; var numElementos = frm.elements.length; for(var i = 0; i < numElementos; i++) { if(i < numElementos-1) { dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value)+"&"; } else { dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value); } } } // ------------ Trata a resposta do servidor --------------- function trataResposta() { if(ajax.readyState == 4) { if(ajax.status == 200) { trataDados(); // criar essa função no seu programa } else { alert("Problema na comunicação com o objeto XMLHttpRequest"); } } } :blush:
×
×
  • Criar Novo...