Jump to content

FabianoSouza

Members
  • Content count

    871
  • Joined

  • Last visited

Community Reputation

5 Regular

2 Followers

About FabianoSouza

Informações Pessoais

  • Sexo
    Masculino

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. FabianoSouza

    Recuperar SPAN que tenha 2 atributos definidos

    Olá @Omar~ Obrigado pela sua ajuda de sempre. Consegui fazendo isso: var elTpReporte = document.querySelectorAll('.sp-tp-reporte[data-click="1"]')[0] (mudei a maneira de declarar o atributo class)
  2. Pessoal, estou quebrando a cabeça para retornar o elemento que tenha dois atributos definidos no HTML. To tentando isso, mas sem sucesso: var elTpReporte = document.querySelectorAll('span[class="sp-tp-reporte"], span[data-click="1"]')[0] OU var elTpReporte = document.querySelectorAll('span[class="sp-tp-reporte"],[data-click="1"]')[0] Ou Seja, preciso pegar a primeira SPAN (pois são duas) que tenha os atributos class = sp-tp-reporte E que tenha também o atributo data-click= 1 Tô errando na sintaxe... podem me ajudar? Grato.
  3. FabianoSouza

    Timeout em AJAX

    Preciso adicionar uma função de timeout na minha requisição AJAX e peço ajuda aos colegas. Já tenho um AJAX que funciona normalmente. Preciso de ajuda para saber como implementar um timeout no código que já tenho. Vejam o código. É um script genérico, para ser reutilizado pelas diversas functions do sistema, que precisam trazer dados. const server = { req : null, res : null, ajax : function(strReq, functionResposta) { this.req = strReq this.url = this.req.url this.req = JSON.stringify(this.req); this.status = 0; try { if (window.XMLHttpRequest) { $obj = new XMLHttpRequest(); } else { $obj = new ActiveXObject('Microsoft.XMLHTTP'); } $obj.onreadystatechange = function() { if ($obj.readyState == 4 && $obj.status >= 200 && $obj.status <= 299) { server.res = JSON.parse($obj.responseText); functionResposta(); } } $obj.open('post', this.url, true); $obj.setRequestHeader('content-type', 'application/x-www-form-urlencoded'); $obj.send(encodeURI('str='+server.req)); } catch(e) { this.req = null; this.res = null; } } }; Para chamar essa function, passando parâmetros, faço assim: //crio uma string com parâmetros... var obj={id:'XPTO', url:'/app/backend/'}; //invoco a function AJAX escrita acima server.ajax(obj, function(){});} Essa estrutura funciona normalmente. Só preciso mesmo saber como implementar um "timer" para responder assim que receber a resposta do servidor.
  4. FabianoSouza

    INSERT EM LOOP

    Tenho uma situação em que preciso gravar uns três campos. Porém, a quantidade de vezes que preciso executar o INSERT é variável (1, 2 ou 3 vezes). Quero saber dos colegas qual seria a melhor abordagem e um exemplo de código para isso. Pensei inicialmente em passar para o banco um JSON contento os objetos (até 3). Aí fazer um loop que percorra esse JSON e execute o INSERT ao mesmo tempo. Podem dar uma força? Valew!
  5. FabianoSouza

    Tratar caracteres acentuados

    Obrigado @Omar~. Realmente não tenho o seu conhecimento. Eu sou grato por várias soluções que você traz para os problemas que publico aqui.
  6. FabianoSouza

    Tratar caracteres acentuados

    Tenho uma function que recupera valores de um cookie. O problema é que truca quando há algum caractere com acento. Exemplo Tássia - retorna assim: T%C3%A1ssia Acho que isso é UNICODE, né? Bom, como é grande a lista de caracteres que podem receber acento, quero saber sem alguém já essa listinha pronta pra eu montar um replace. Fiz um código que funciona. Só preciso mesmo dessa listinha para encher as variáveis unicode e normal function charDecode(str) { var unicode = '%C3%A0,%C3%A1' , normal = 'à,á'; var strUnicode = unicode.split(','); for(j = 0; j < strUnicode.length; j++){ for(k = 0; k < normal.length; k++) { var tratada = str.replace(strUnicode[j], normal[k]) } } return tratada; } Obrigado desde já.
  7. FabianoSouza

    Evento Click em datalist

    Esse código não funcionou (teste no Firefox)
  8. FabianoSouza

    Transition Height não funciona em UL

    Muito obrigado @Omar~
  9. Gente, o negócio é cabeludo. Na aplicação tem uns botões para o usuário marcar regiões de interesse: Centro, Zona Norte, Zona Sul, Zona Leste e Zona Oeste. Ele pode marcar todas ou nenhuma. Dentro desse universo há dezenas de combinações possíveis, umas 50 possibilidades. Meu problema é como tratar isso num SELECT para poder filtrar a coluna onde guardo essa informação. É uma coluna numérica entre 0 (para quando não existe uma zona definida) e 5. Impossível tratar isso com IF ou CASE. Qual a solução? Eu pensei em tentar algo com tabela temporária, fazendo isso: 1) Recupero o código das Zonas selecionadas na aplicação 2) Crio uma tab temporária e armazeno esses valores 3) Faço JOIN, entre a coluna codZona (da tab onde armazena esse dado) e a coluna da tab virtual Essa ideia tecnicamente funcionaria? Há outra saída mais eficiente? Grato.
  10. FabianoSouza

    Transition Height não funciona em UL

    Estou tentando fazer algo simples: redimensionar a altura de uma UL, usando classList.toggle (javascript). Percebo que, se no CSS eu tentar aplicar o estilo em cascata, não faz efeito na UL só por estar dentro de uma DIV. Se no CSS eu colocar: .cnt-filtro-body ul{ list-style:none; position:relative; float:left; width:100%; height:0px; overflow:hidden; transition: height 0.5s; background-color:#FF0; display:block; pra estilizar somente ULs que estejam dentro da DIV que tem a classe chamada cnt-filtro-body, a coisa não funciona. Só funciona se partir direto da ul, assim: ul{ list-style:none; position:relative; float:left; width:100%; height:0px; overflow:hidden; transition: height 0.5s; background-color:#FF0; display:block; Vejam o código. <!DOCTYPE html> <html> <head> <style> .cnt-filtro-body{position:relative; height:50px; width:100%; } .secao-toggle{height:160px; display:block; float:left; position:relative;} ul{ list-style:none; position:relative; float:left; width:100%; height:0px; overflow:hidden; transition: height 0.5s; background-color:#FF0; display:block; } </style> </head> <body> <button onclick="myFunction()">Clique aqui</button> <div class="cnt-filtro-body"> <ul id="myDIV"> This is a DIV element. </ul> </div> <script> function myFunction() { var element = document.getElementById("myDIV"); element.classList.toggle("secao-toggle"); } </script> </body> </html> Minha necessidade é: estilizar apenas UL que estejam dentro da DIV que esteja usando a classe cnt-filtro-body
  11. Pessoal, estou chamando uma function no evento onSelect de uma input text mas não funfa quando testo em navegador mobile (Chorme e Microsoft Edge). document.querySelector('#cidade').addEventListener('select',handlerZonas) No PC funciona. Sabem dizer se há outra evento equivalente que funcione em mobile? O objetivo é, ao selecionar um item em uma datalist, dispare a function handlerZonas. Dá pra usar no evento onBlur, da input. Mas o evento onSelect é o que oferece melhor experiência de uso. Grato.
  12. FabianoSouza

    Substring no SQL

    Obrigado @Motta
  13. FabianoSouza

    Datalist - erro em palavras compostas

    Resolvido. No meu backend eu fiz um replace, substituindo os espaços existentes na string por "&#32;". Isso fez com que o datalist ignorasse o espaço entre as palavras, fazendo o "autocompletar" funcione perfeitamente.
  14. FabianoSouza

    Datalist - erro em palavras compostas

    Montei uma estrutura para preencher um datalist associado a uma input text (para fazer a busca na datalist). O problema é que quando se trata de palavras que tenham espaço na string, o "autocompletar" não funciona. No caso é para selecionar cidades. Então se digitar Diadema, a datalsit funciona, lista o nome da cidade e ao clicar nela, passa o valor para a input text. Mas se escrever São Paulo, já não lê depois que pressiono a barra de espaço. Já chequei o a string recebida, as cidades estão vindo completas. Mas ocorre algum erro na hora de criar os options. Como resolvo? Esse é o HTML <input type="text" name="cidade" id="cidadeDigitada" list="cidades" placeholder="Sua cidade" autocomplete="off"> <datalist id="cidades"></datalist> Tenho essa function que traz os dados em JSON do backend e preenche uma datalist. isso está funcionando perfeitamente. function selCidades() { var obj={url:'/backend/selecionar/'} , listCidades = document.querySelector('#cidades') , str='' , json='' , i=''; server.ajax(obj, function(){ json = server.res for (var i=0; i < json.length;++i){ str += '<option id=' +json[i].id + ' value=' +json[i].titulo+'>'; // Guarda options em variável } listCidades.innerHTML = str; }); }
  15. FabianoSouza

    Evento Click em datalist

    Comecei a usar datalist hoje. Duas coisas que ainda não entendi: 1) Como faz para definir function para o evento click ou evento change da datalist? 2) Como faço para pegar o valor do option clicado da datalist? Os options da tag datalist não são como options da tag select?? Que permite definir um valor para "value" e outro para para exibição ao usuário? Help!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.