Ir para conteúdo
Fórum Script Brasil

KaKarotto

Vencedores de desafio
  • Total de itens

    1.243
  • Registro em

  • Última visita

Tudo que KaKarotto postou

  1. Então yugi moto...eu não disse que o meu código iria solucionar o problema, mas a lógica realmente é igual, eu fiz aquilo primeiramente em PHP pra depois passar pra Js. O problema é que tá uma senhora salada essas funções que está usando, elas fazem testes condicionais repetidamente, duas funções que fazem a mesma coisa...Também não consegui identificar o que a função loadpage faz.... Não tenho os códigos php e não dá pra eu ver funcionando, o que complica pra mim, pois não estou familiarizado com o sistema que está montando tanto quanto você está. Vamos ver pelos problemas, que problema ele dá quando você coloca a linha que comentou? Esta: <a href="java script:ajaxpage('pagina.php?pg=".($pg+1)."', 'rightcolumn');">Pagina</a> Eu já sei que não funcionou, mas que problema que dá? E o que o php retorna? Ele funciona sozinho sem o ajax? Tem como postar ele funcionando sozinho ? Se não puder postar não tem problema.
  2. Não sei como colocou no arquivo html esse script, mas deveria funcionar exatamente como funciona localhost. Isso porque o javascript é uma linguagem que é interpretada pelo navegador e não tem nada a ver como servidor que está usando. Tem como passar o link de onde está hospedando a página? Outra coisa, que navegador está usando? Eu tenho a impressão de que alguns navegadores bloqueiam a função window.status...assim como bloqueiam pop ups ( window.open ). Essa não é uma maneira muito boa de fazer Tiago...É uma chamada recursiva que não termina...e recursividade sem fim não é muito interessante. Se quiser esconder os links, tente fazer os links abrirem funções javascript ao invés de páginas. Assim: <a href="#" onclick="paginaTal()">Link</a> Dessa forma você poderia fazer as funções em ajax que mandassem para o servidor algum valor e o php poderia retornar a página que deseja....sei lá, usa a imaginação, eu só não acho que essa forma de recursão algo muito certo de fazer. você poderia também fazer isso: function hideStatus(){ for(var x=0; x<document.links.length; x++){ document.links[x].onmouseover=function(){setTimeout("window.status=''", 1)} document.links[x].onmouseout=function(){setTimeout("window.status=''", 1)} } } window.onload=function(){hideStatus()} O codigo acima coloca o valor do link para "", quando você colocar o mouse sobre o link. Mas tem um problema, você vai conseguir ver o url por um milésimo de segundo. Enfim, nada é perfeito, eu acho que você deveria fazer o que falei em primeiro lugar, usar funções nos links ao invés de links para outras páginas. Kelabrasssssss
  3. Cara, aqui funcionou sussa...estou com o ie6. Que framework está usando ??? Jquery? Caso não esteja funcionando no ie7 mande um email para o suporte lá. Akeleabrasssssss
  4. freddys_, olha é um problema de lógica. Se você define os valores dos inputs como sendo 1 e 2, eles sempre terão valores 1 e 2. O if nunca irá funcionar. O intuito do input radio é usar uma e somente uma opção. Então não precisa validar esse tipo de entrada: <input type="radio" name="Browser" value="IE" checked="true" />Internet Explorer <input type="radio" name="Browser" value="NetScape" />NetScape <input type="radio" name="Browser" value="FireFox" />FireFox <input type="radio" name="Browser" value="Mozilla" />Mozilla <input type="submit" value="mandar" /> Defina um radio checado por padrão. Esse html acima manda pro servidor o valor do Browser. No exemplo a querystring seria: Browser=IE. Kelabrassssssss
  5. O mês está correto, porém, a função getMonth retorna o mês de 0 a 11, que facilita na hora de usar arrays. Então, muda esse bloco: var mes = currentDate.getMonth() if (mes < 10) mes = "0" + mes Para: var mes = currentDate.getMonth() if (mes < 10) mes = "0" +(mes+1) Percebeu? No código original, se o mês for menor que 10 ele acrescenta um zero na frente. Como o mes vai receber um valor de 0 a 11, então em janeiro ele mostraria 00. A solução é somar 1 à variável mes. Kelabrassssss
  6. Ué....o que deu errado na validação da hora ??? Que hora você colocou que não validou direito? Posta aqui por favor. O endereço do Elcio onde estão a maior parte das funções que usou é esse: http://elcio.com.br/ajax/mascara/ Kelabrassssss
  7. Yugi Moto. Aquele código que eu fiz, que o By_oby passou, eu fiz exatamente isso que você ta querendo fazer, você percebe que os links que eu criei lá são sempre (i+1) ? você só olhou o onclick do meu código =s, a lógica que usei lá é essa que está procurando. O.o De qualquer forma, se você não entendeu, poste o php aqui mesmo, não tem problema. Kelabrassssss
  8. Bom, no campo de horas você usa esse código: v=v.replace( (/[012][0-9]:[0-5][0-9]/), "") Percebe que você usa o replace para substituir a ER correta por nada? você pode ver se o conteúdo combina com o match nessa última linha de código: if( v.match( (/[012][0-9]:[0-5][0-9]/) ) ) return v return v.replace( (/[012][0-9]:[0-5][0-9]/), "") Eu pensei nessa forma porque eu ainda não sou muito fera em ER, então meu código sempre fica maior do que o necessário. Se quiser diminuir ainda mais, tente ver como fazer a negação disso: (/[012][0-9]:[0-5][0-9]/) Para só aí usar o replace da forma que usou. Andou lendo os artigos do Elcio né danado rsrsrs. Eu conheço essas funções de algum lugar... Boa sorte. Kelabrasssssssss Edit Eu percebi que as suas horas ainda estavam feito de forma errada, elas atingiam até 29:59, ao invés de substituir a última linha do jeito que eu tinha falado, substitua por isso: v.match( (/[01][0-9]:[0-5][0-9]|[2][0-4]:[0-5][0-9]/))?v=v:v='' Ainda usando o match porque não sei usar a negação de tudo isso.
  9. Tanto faz vírgula =s . Nesse caso você muda o valor da tecla digitada pela função tecla_enter(), então você não está dando um enter no link, você está dando um tab. Quando você remove o event.keyCode=9, você evita mudar a tecla pressionada, então o link funciona corretamente. A minha solução foi meio estúpida, não prestei atenção nisso. Não é uma boa maneira esta que está fazendo, você faz, com esse código, que TUDO no documento quando teclado enter funcione de uma certa forma. Ta ae a grande dificuldade que está tendo pra comprovar. Primeiro, retire aquele bando de instruções na tag body, aquilo lá não existe. Formate com css. Pegue apenas os elementos que quer fazer a função "tecla_enter" funcionar: window.onload=function(){ document.localidade.loc_descricao.focus() var ele=document.getElementsByTagName("form")[0].childNodes for(x=0; x<ele.length; x++) if(ele[x].tagName=="INPUT" || ele[x].tagName=="TEXTAREA") ele[x].onkeydown=tecla_enter } Outra coisa, eu acho que deveria deixar os links fora da sessão do formulário. Ali não é lugar daqueles links. É uma sugestão. O código que passei pode ir depois da função "tecla_enter", e não irá funcionar caso não tire todas as declarações que botou na tag body. Ela tem que ficar assim: "<body>" SÓ! Bom, boa sorte. Se ainda não funcionar posta de novo, vamos solucionar essa bagaça. Kelabrassssssssssss [edit] Desculpe esqueci, seu tópico foi movido porque deve ter postado em alguma área que não era do assunto. Como sua dúvida é sobre javascript, então deve ser postada na área de javascript.
  10. Ahhhhhhhhhhhhhhhhhhhh entendi a forma inteligente que estava falando.... Legal! Alá... ta vendo, a necessidade faz o monge rsrsrsrs. Olha eu pessoalmente prefiro codificar o menos possível, eu faria de outro jeito <form id="manda"> <select id="sessao_imovel" name="sessao_imovel"> <option value="Grande">Grande</option> <option value="Medio">Medio</option> <option value="Pequena">Pequena</option> <option value="Barraco">Barraco</option> </select> <select id="subsessao_imovel" name="subsessao_imovel"> <option value="Branco">Branco</option> <option value="Amarelo">Amarelo</option> <option value="Verde">Verde</option> <option value="Vermelho">Vermelho</option> </select> <input type="submit" value="mandar" /> </form> Isso automaticamente mandaria pro server a query string : sessao_imovel=Barraco&subsessao_imovel=Vermelho Claro, caso eu tivesse escolhido Barraco e Vermelho. Então eu procuraria saber se na linguagem Server-Side não tinha alguma função para pegar a query string e explodí-la para recuperar tanto o nome da variável quanto o seu valor, sem usar nada de javascript. Ou mesmo, se está criando esse formulário com php por exemplo, poderia fazer o que você fez mas sem usar javascript, algo do tipo: <select id="<?=nome?>" name="<?=nome?>"> <option value="Grande">Grande</option> <option value="Medio">Medio</option> <option value="Pequena">Pequena</option> <option value="Barraco">Barraco</option> </select> <input type="hidden" name="nomesessao" id="nomesessao" value="<?=nome?>" /> Mas no fim das contas tanto faz, é só uma forma diferente de fazer. É pessoal, eu prefiro usar javascript quando não dá pra fazer mesmo de outro jeito. De qualquer forma, muito inteligente a sua solução. Parabéns. Kelabrasssss
  11. Se espremer mais sai sangue foi ótima rsrsrs. João, o site serve para você ter uma idéia só, nenhum site vai seguir a risca isso daí. É realmente impraticável em certos casos. Se usar o site usando tableless é um primeiro passo para conseguir otimizar o tempo de renderização. Claro, e mais que claro, óbvio. Se você quiser saber se o seu site é rapido, vai ter saber como é a velocidade no pior caso correto? Oras...se testar o site numa conexão de 1gigabyte por segundo(exagero eu sei) seu site sempre vai estar otimizado... Muitas pessoas ainda utilizam modem 56k sem contar as que utilizam 28k, eu prefiro otimizar ao máximo as imagens, na verdade são elas que pesam realmente o site. O ideal é trabalhar com imagens otimizadas e usar efeitos e técnicas com Css para não utilizar imagens desnecessárias ou com tamanho maior que se precisa para conseguir um efeito. Fazer o template da página a mão e utilizando includes para apenas atualizar o conteúdo central é uma boa prática, ajuda a economizar código e otimizar a velocidade do site. Usa esse site para você ter uma idéia e detectar problemas ocultos, que não estão muito a vista. Eu ainda prefiro testar em um modem de 56k para ver o tempo de carregamento da página, usando um pc antigo de preferência, pois os scripts e objetos flash também fazem diferença num pc véio. Boa dica por sinal, eu não conhecia esse site. Akelabrasssss
  12. você vai ter que fazer isso com Css cara, de preferência. Teve uma menina que tava com essa mesma dúvida, dá uma olhada: http://scriptbrasil.com.br/forum/index.php?showtopic=112654 Agora é claro...não sei se a minha dica pra ela funcionou. <_< Tente aplica a dica que eu dei e veja se funciona. Akeleabrasss
  13. Forma rápida e inteligente? Esta é a forma rápida e inteligente, afinal usou 1 linha pra cada ação que desejava. Menos que isso só programando pela força da mente. Input hidden é para trabalhar com valores que não precisam ser mostrados pro usuário... Não estou entendendo Rúbia...vai depender da sua necessidade. Se precisar que alguém tecle algum valor use input text, se precisar que alguém escolha, use select, se não quer que o usuário digite nada, não escolha nada, use hidden, oras bolas -_- Explica melhor, eu tenho a impressão de que não entendi direito. Kelabrassssss
  14. Ué ?¿?¿?¿???¿¿ O código, quando pressionar enter vai mudar de foco. Beleza. que coisa contraditória :blink: Lógico que ele vai pro próximo link, é o que o programa faz :blink: Como ele vai executar uma função onclick, se não foi clicado nada??!?!?!?!? Jpalma presstenção rapaiz.... <a href="#" onkeypress="funcao()'; return false">Enter em mim</a> Coloque o onkeypress no link. Kelabrasssssss
  15. Não é um erro estranho. É uma questão de semântica William, as tags são feitas e usadas para seu devido propósito. Se você quer mostrar html, então deve utilizar divs ou spans. você está tentando colocar dentro de um input TEXT um valor que contém html Imagens devem conter imagens, Botões devem conter botões, Objetos devem conter objetos e input TEXT deve conter TEXTOS. Se você tentar reproduzir isso num TEXTarea por exemplo, vai ver que o resultado é o mesmo, lógico, TEXTarea é para TEXTOS. Então William, sem gambiarras rapaz rsrsrsrs. Use div e formate-o para que fique do jeito que quer com Css.
  16. Oi Tatiana, tudo bom? Olha só, eu dei uma pesquisada na net sobre o disable, mas não achei como fazer para desabilitar inicialmente por html, o que seria o ideal. Mas eu fiz um scriptzinho de demonstração pra te mostrar o que deve fazer: <script> window.onload=function(){ document.getElementById("SubCategoria").disabled=true document.getElementById("Categoria").onchange=function(){ document.getElementById("SubCategoria").disabled=false if(this.selectedIndex==0) return document.getElementById("SubCategoria").disabled=true } } </script> <form> <select id="Categoria"> <option>---Escolha---</option> <option>Nike</option> <option>Fila</option> <option>Rainha</option> </select> <select id="SubCategoria"> <option>---Escolha---</option> <option>Branco</option> <option>Preto</option> <option>Azul</option> </select> </form> Ela é bem simples, ao termino do carregamento da página o javascript vai desabilitar a "SubCategoria" só habilitando quando for escolhido uma opção válida no primeiro select. Entende-se por opção válida qualquer uma que não seja a opção "---Escolha---". Existem outras formas de fazer, mas para o que precisa imagino que seja suficiente. você poderia esconder com "hidden" ou mesmo fazer por ajax, mas ae já complica um pouco. Kelabrasssss
  17. Deve ter várias formas de fazer isso Daniel...você vai ter que perguntar lá pro povo de server-side, vá para área de python, php, asp ou .net... Sinceramente eu não sei como fazer isso, nunca implementei, eu penso que você poderia fazer de duas maneiras. 1- Sem ajax, se estiver fazendo uma página com wallpapers, não exiba a imagem sozinha, faça o usuário clicar nela, redirecionando para uma outra página que contenha a imagem em um tamanho maior, dessa forma, você pega no script da pagina o ip do usuário e incrementa o valor de um contador usado no banco de dados. 2- Com ajax, de novo, se estiver fazendo uma página com wallpapers, você até pode exibir a imagem sozinha, porém, você usa o evento onclick do javascript para enviar para um script server-side um valor de incremento, o script server-side faria a checagem do ip (feito em outra página antes) e incrementaria no bd conforme desejado. Eu estou só imaginando uma forma de fazer, é muito possível que existam formas melhores de se fazer. De uma olhada na net, procure por sistemas que verificam a quantidade de usuários online, é quase a mesma lógica, você poderia adaptar para seu gosto. No criarweb.com ou criarweb.com.br deve ter algo do tipo. Kelabrassssss
  18. Ué.... É só mudar do div para o input. Em um determinado lugar do script do seu Ajax vai ter um código parecido com esse: if(obj.readyState==4) document.getElementById('div1').innerHTML=obj.responseText Ao invés de usar o div você muda e usa: if(obj.readyState==4) document.getElementById('box1').value=obj.responseText Desde que tenha definido o valor do id do input text para algum valor, no exemplo usei o "box1". Kelabrasssss
  19. Yogodoshi, o código tá enorme, meu forte não é nem asp nem banco de dados. O script tem encoding, decoding, substituição de caractéres...pode ser qualquer coisa. Eu acho que seria melhor você diminuir esse código todo dividindo por partes, fazendo vários testes com pequenas partes do script pra ver se a parte está funcionando como deveria para depois juntar para formar o todo. Não é no javascript o problema, eu peguei o javascript que usou e testei naquele link que te passei de testes, funcionou, testa ae também, TEM QUE FUNCIONAR. Teste.htm <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Página teste</title> <script> try{ xmlhttp = new XMLHttpRequest();}catch(ee){try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(E){xmlhttp = false;}}} </script> </head> <body> <div id="resultado"></div> <script> xmlhttp.open("GET","http://free.7host07.com/ForLearn/ajax.asp?q=ãõáàóçêâ, ta funcionando poww...",true); xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=iso-8859-1'); xmlhttp.onreadystatechange=function() { document.getElementById('resultado').innerHTML = 'Aguarde...' if(xmlhttp.readyState == 4){ document.getElementById('resultado').innerHTML = xmlhttp.responseText }} xmlhttp.send(null) </script> </body> </html> Esse código está funcionando como deve. Então tenta tirar os encodings, os scripts replace, tenta diminuir isso para tentar achar o problema em questão. Tente usar um script pequeno e simples que adicione no bd o valor com acentos e que pegue o mesmo valor e mostra na tela, verifique se o bd está retornando como desejado. Não desista não, pode ser que venha ainda alguém que manja melhor desse assunto e ajude. Enquanto isso faça os testes que te falei. Vai postando...
  20. Oi Ianez, tenho a impressão de que não tem como fazer o que quer... Não dá pra acessar o conteúdo do iframe que contenha uma página de domínio diferente, justamente por segurança, para evitar cópia de conteúdos. Também não tem como copiar um conteúdo html para o textarea, já que o conteúdo do textarea é texto sem formatação. você poderia fazer isso com uma página sua e passar o conteúdo da pagina para um div ao invés do textarea, você poderia fazer o seguinte: window.onload=function(){ document.getElementById('res').innerHTML=document.getElementById("ifra").contentWindow.document.body.parentNode.innerHTML } // res é um div e não um textarea!!! Não sei se o código funciona no FF, eu só sei esse do IE. Terá que procurar na net um para o FF se não funcionar. Akelabrassssss
  21. Cara, não tenha nada pronto... O método que usei ali naquele arquivo é bem simples, só peguei a string pelo método request.querystring e enviei de volta.... Teria que funcionar perfeitamente se estivesse mandando pelo método GET, eu testei e funcionou, então o problema pode ser no javascript, tenho a impressão de que o problema pode estar nessa mistura ae dos dois tipos, get e post no script. Agora...que caracteres especiais está falando? Agora me surgiu uma dúvida, eu achei que estivesse falando de acentos, agora não tenho tanta certeza.
  22. Oi Mariana, se está desdobrando por baixo do banner, então eu creio que esteja usando position:absolute nos dois, estou certo? Se estiver, você pode usar o atributo Css z-index do nos dois. Uma solução nesse caso seria atribuir o z-index:1 para o menu e z-index:0 para o banner. Esse z-index diz qual a ordem que os elementos irão ocupar. Akelabrassss
  23. você tá colocando o <%Response.Charset="ISO-8859-1"%> no começo da linha? Porque caso contrário não vai funcionar mesmo. você está misturando os métodos post e get, eu acho que não tem problema já que está tentando recuperar por GET, teste usando ajax só pelo metodo get caso já esteja usando o charset no começo do script. Testei aqui e funcionou...manda sua string pra cá: http://free.7host07.com/ForLearn/ajax.asp?q= Veja se retorna direito.
  24. Oi Diego tudo bom? Então eu posso estar errado, mas eu acho que não tem nenhuma maneira de referenciar por números no index se você usou uma string. Se você usou uma string para identificar um array, então o seu array não tem mais o conceito de anterior ou de posterior concorda? Olha: var arr=[] arr["nome"]=Eduardo" arr["idade]="23" arr["profissao"]="Programador" Qual vem antes de quem? Ninguém. Posso dar uma sugestão? Eu acho que cria arrays desnecessariamente, você poderia apenas criar o array das chaves assim: <script type="text/javascript"> key=[] key[0]="b091de3741c61db8b5aef54e82ad1dd6" key[1]="a5bd6b49ed5c7adf0c7c13b5ac998cd" key[2]="cd3326582f8f0f56f0b8ed5630aba894" key[3]="30b46a0d77d143818bd99b36c60c300f" key[4]="b04039daa65e1c17dc0b544671b53909" key[5]="69ae5670041225e331318c6d623ba18c" key[6]="91d5ff66686fdd2fb01b2aaa3de1e932" function verificaChave(k){ for(prp in key) if(key[prp] == k.split("_")[1]) return prp return false } numero=verificaChave("mini_b04039daa65e1c17dc0b544675b53909") if(numero) alert(numero) </script> Percebe? a função verificaChave retorna o valor do array numerico, caso achar a chave. Dessa forma você poderia acessar o termo seguinte e anterior fazendo assim: alert(key[numero+1]) // posterior alert(key[numero-1]) // anterior você pode criar uma função pra criar os minis é simples, e também teria que criar uma função para tratar o overflow do array pois caso o numero volte como 6, então 6+1 é 7 e o "key[7]" não existe. Com o array key contendo só os valores das chaves, você pode criar uma função que adiciona facilmente o array com valores novos. A função verificaChave funcionaria com teoricamente infinitos valores de "key". Abraços
×
×
  • Criar Novo...