-
Total de itens
1327 -
Registro em
-
Última visita
-
Dias vencidos
15
Tudo que Omar~ postou
-
duplicou ....
-
pegarvalorauto Clicar e pegar o valor automaticamente
Omar~ respondeu ao tópico de Hamanom007 em PHP
Não com PHP e sim com javascript. Pois isso se trata da interação usuário X página renderizada. <form> <div id="mostar_valor"></div> <input class="olhar_valor" type="checkbox" name="exemplo" value="algum_valor" /> </form> <script> function exibirValor(e) { var alvo = e.target, mostrar = document.getElementById('mostar_valor'); if (alvo.checked) { mostrar.innerText = alvo.value; } else { mostrar.innerText = null; } } document.querySelector('.olhar_valor').addEventListener('change', exibirValor, false); </script> -
@Biel. Entendo sua preocupação pois essa já foi a minha. Tenha e mente que hoje em dia os browsers só redireciona até 450px aproximados em média (no Windows e MAC), pois essa a tela dos Smartfones de hoje em dia (Quem começou isso foi o browser Opera). Veja quando eu comecei a escrever esse CSS: https://github.com/Spell-Master/sm-web/blob/master/css/sm-default.css Eu ainda me retia a resoluções inferiores aos primeiros smartfones que no máximo atingiam 250 pixel's (que foi os primórdios da navegação web móvel), sendo que como disse hoje em dia nenhum é menor que 450px... aliás pixel não é a media usada para esse calculo e sim REM então hoje em dia o resolução mínima seria (15.625 REM) Apesar que meu CSS padronizado que dar para desenhar 99% de um layout ainda dar suporte a resoluções menores que essa atual, então serão removidas na próxima atualização que eu fazer. O que eu quero dizer é que não precisa calibrar x elementos para milhares de resoluções, pois você tem que pensar em que aparelho está sendo visualizado. Porque criar algo que se adapte a um usuário que fica modificando a tela do browser é perder tempo e esforço. Você deve se preocupar com o landscape (panorama) e não com a resolução. Se você estiver numa resolução em média de "30 REM" aproximados quer dizer que você está vendo em um smartfone em modo retrato. Se você estiver numa resolução inferior "64 REM" aproximados quer dizer que você está vendo em um smartfone em modo paisagem ou em um tablet em modo retrato. Se você estiver numa resolução inferior "120 REM" aproximados quer dizer que você está vendo em um tablet em modo paisagem ou em um monitor de 24 polegadas. Se você estiver numa resolução maior ou próximo a "120 REM" quer dizer que você está vendo em em um monitor FULL-HD. Fora isso você já entrou em 4K.
-
Eu particularmente acho desnecessário uma ferramenta para tal finalidade. Durante o desenvolvimento costumo fazer algo como isso: <div id="resolucao" style="position: fixed; bottom: 0; left: 10px; padding: 10px 20px; background: black; color: white;"></div> <script> var res = document.getElementById('resolucao'); res.innerText = window.innerWidth; window.onresize = function () { res.innerText = window.innerWidth; }; </script> Assim sendo, bastando arrastar o tamanho da janela do browser que a qualquer momento eu terei as dimensões da resolução. Depois da aplicação pronta é só apagar isso e entregar para o cliente. Não mesmo, essa ferramenta do firefox é muito eficaz o problema deve ser seu layout ou mesmo sua aplicação que usa recursos desnecessários e desorientados por isso a lentidão.
-
Como eu disse: - De onde vem a informação da sub-categoria e como isso é obtido? Pois bem, independente dessa minha pergunta, qualquer dados deve está presente o javascript para que quando alterar o valor de categoria temos algo para preencher as subcategorias. Optei por um JSON com os dados para subcategoria, onde apenas tenho um índice para saber que sub-categoria pertence a cada categoria. Usei o PHP, para criar o json, mas a abordagem fica só com o javascript mesmo. No mais o exemplo eu escrevi em cada linha o que é feito (espero que seja algo como isso) Note que a categoria 4 possui 4 sub categorias e as demais somente 2, pois o que interessa é saber a relação, pois é isso de determina a qual categoria um sub pertence.
-
Deixa eu ver se entendi.... O seletor "categoria" tem lá suas opções, mas o seletor "subcategoria" não. Ao alterar "categoria" obtemos seu value, então "subcategoria" terá as opções correspondentes ao atributo "data" Resumo: "seletor" no valor for 1, as opções de "subcategoria" só vão existir as que forem data-option="1" É isso? Se for, de onde e como vão ser as opções do segundo seletor? Porque essas opções devem ser criadas e injetadas dentro do segundo seletor, mas criar-las com qual informação?
-
tag <audio>: ao clicar em um segundo audio, parar execuçao do primeiro
Omar~ respondeu ao tópico de Luis Fernando R. Valle em Javascript
Use uma variável global para identificar o audio em execução. Toda vez que um novo audio é tocado pegue a informação da var global e dar pause no que estiver tocando e play na atual. Vejamos um exemplo: Fica meio esquisito pois se a pessoa clicar novamente no audio anterior ela vai continuar ouvindo de onde parou pois o HTML5 não tem recurso para parar uma mídia. Porém isso é possível fazer criando a tag <audio> dinamicamente, e quando tocar outro áudio é só apagar o html a tag anterior assim você "mata" a execução substituindo por outro. -
Acho que saquei a situação. Você não possui a lista de bairros e será cadastrado por um usuário ou por você periodicamente. Primeiramente a tabela de bairros deve receber uma nova coluna também para identificar o estado Pois a consulta deve ser estado + cidade + bairro. Pois existem milhares de bairros com nome repetidos em vários estados. E como puxar o bairro? O primeiro seletor vai carregar o estado onde traremos o ID's dos estados. SELECT * FROM estados Compomos o html com as informações <form method="POST"> <select name="carregar_cidades"> <option value="">Selecionar Estado...</option> <?php foreach($resultado_do_banco as $value) { ?> <option value="<?= $value['id_estado'] ?>"><?= $value['estado'] ?></option> <?php } ?> </select> </form> Ao alterar o valor de carregar_cidades, pegamos o ID do estado e buscamos as cidades com essa informação: SELECT * FROM cidades WHERE id_estado = '{$id_do_estado}' Compomos o html do novo seletor com as informações: <form method="POST"> <input type="hidden" name="id_estado" value="<?= $id_do_estado ?>" /> <select name="carregar_bairros"> <option value="">Selecionar Cidades...</option> <?php foreach($resultado_do_banco as $value) { ?> <option value="<?= $value['id_cidade'] ?>"><?= $value['cidade'] ?></option> <?php } ?> </select> </form> Ao alterar carregar_bairros vamos buscar os bairros usando a informação do estado e da cidade SELECT * FROM bairros WHERE id_cidade = '{$id_da_cidade}' AND id_estado = '{$id_do_estado}' -- lebrando que a coluna "id_estado" é a coluna nova que identifica o estado Bom, a estrutura HTML já deu para perceber como deve ser feita não é? Uma questão boa de se abordar aqui é: Se a pessoa carregar a query de bairros e não retornar nenhum valor é porque não tem bairro algum cadastrado para aquela cidade. Então seria interessante definir a estrutura de um input text para que ela possa manualmente escrever seu bairro. O mesmo valeria em criar um option no seletor caso haja resultado, mas não o bairro que ela procura. Ao selecionar essa opção uma caixa de texto é inserida no html para ela manualmente escrever o bairro.
-
Atá, entendi... Bom o que vai fazer é tentativa e erro. Vamos usar um divisor pai e vários filhos dentro desse pai. O divisor pai fica fixo na parte inferior da tela. Mais ou menos assim: <div class="pai"> <div class="filho">1</div> <div class="filho">2</div> <!-- quantos filhos forem necessários --> </div> No pai damos as seguintes propriedades de CSS: .pai { z-index: 1; position: fixed; width: 100%; bottom: 0; left: 0; text-align: center } Os filhos é que fazemos a coisa acontecer, use uma calculadora para poder calcular sua largura dividindo 100 pela quantidade de filhos. .filho { width: 12.5%; /* 12% já basta? */ display: inline-block; /* Alinhando um ao lado do outro */ padding: 1rem /* "1rem = 16px" quanto de espaçamento interno ? */ } Por isso tentativa e erro, pois sua largura deve ser o suficiente para abrigar os demais componentes internos ao filho e ainda permiti-los que caibam em uma linha do divisor pai. Agora a questão: Use o media-query para redefinir a largura de cada filho de acordo com a resolução da tela. Nesse caso aqui quando a resolução máxima não ultrapassar 600 pixels digo que a largura do filho passa a ser outra. @media (max-width: 600px) { .filho { width: 6.25rem; /* 6.25rem = 100px */ } }
-
O problema dos bairro é que temos mais de 5k de cidades no território brasileiro. Quantos bairros em cada cidade? É facilmente chegamos a um array com mais de 1/2/3/4...... milhão de índices que teria de ser feito na mão, fora o trabalho de consulta individual de cada. Confesso que faria facilmente isso, mas levaria pelo menos uns 2 meses para catalogar cada bairro em cada cidade e preparar o script para ficar operacional.
-
Que imagens? Qual resolução? Quando que aparece em 3 em 3? O que aparece em 3 em 3? Faltou você apresentar um código, explicar de forma coesa seu problema e se possível uma imagem demostrando o resultado final. Tente o "z-index" pois isso define a importância de um elemento no documento.
-
Olha esse termo de selecionar um estado e já carregar cidades nem precisa de um apelo pelo servidor pode ser feito através somente do javascript. Existe esse maravilhoso script para essa finalidade https://github.com/robertocr/cidades-estados-js Agora o caso do bairro e tal até que daria para fazer um upgrade, mas seria um trabalho minucioso e teria que consultar o senso pra ter uma relação dos bairros de cada cidade. Ou seja daria trabalho pra caramba....
-
De onde vem e quais os requisitos para uso do horário de término? Deduzo que seja algo dinâmico sem intervenção humana e só por display mesmo, então nesse caso veja: $resultado_do_banco = date('H:i:s'); // Isso pode ser o horário obtido através da query $termino = date('H:i:s', strtotime("{$resultado_do_banco} +1 hour")); // Obtem a hora atual e almenta 1 hora a mais em relação com o horário vindo da query. var_dump($termino);
-
Primeiro: Faça correções na estrutura do HTML "está com erro", de cara vejo isso, mas pode haver mais outros tipos se levar isso em consideração. Segundo: Cuidado com definições levianas no CSS Enfim, se eu entendi você que as imagens uma ao lado da outra certo? Nesse caso esqueça das imagens olhe para a estrutura HTML como ela é! Blocos dentro de blocos etc, esse é o segredo de fazer qualquer layout com facilidade... <style> * {margin: 0; padding: 0; box-sizing: border-box} .lugar_das_images { text-align: center } .imagem_aqui { display: inline-block } .imagem_aqui > img { width: 100%; max-height: 250px /* Qual é altura máxima que a imagem pode ter? Isso influenciará em sua largura */ } </style> <div class="lugar_das_images"> <div class="imagem_aqui"> <img src="????????.???" alt="Exemplo" /> <p>Imagem em linha</p> </div> <div class="imagem_aqui"> <img src="????????.???" alt="Exemplo" /> <p>Imagem em linha</p> </div> <div class="imagem_aqui"> <img src="????????.???" alt="Exemplo" /> <p>Imagem em linha</p> </div> </div>
-
Para falar a verdade o Chorme a cada atualização dele o mesmo se consegue ficar pior ainda, lentidão de todos aspectos. Mas daí dizer que o lixo do Edge ser mais rápido "em qualquer quesito" é besteira. Tiro essa conclusão por experiência pessoal e imparcial, não por dados forjados por bajuladores da Microsoft ou mesmo uma simulação comprada.
-
Fazendo uma leitura qualquer na tal tabela. Se der erro é porque a tabela não existe. Com mysqli não sei dizer como proceder com o erro porque não uso, entretanto com PDO você tem o PDOException para tratamento de erros.
-
Codeigniter + PHP - Habilitar e Desabilitar DIV's
Omar~ respondeu ao tópico de violin101 em Javascript
Você pode está usando só HTML e CSS para algo tão simples Veja: Agora ao caso do php... Perceba que a tag <input> radio possui o name['tipo'] então esse dado deve se verificado quando o formulário for submetido. Quando o tipo for 1 você só irá processar dados de post contido na tag <div> que foi mostrada ignorando os dados de input da outra, fazendo o mesmo mais ao inverso quando o tipo for 2. Pois quando o formulário for submetido todos os dados serão enviados, mas usando esse truque você pode saber qual foi o modelo da postagem. -
...No caso quando vazio fazer o update limpando a coluna na tabela? Ou ao está vazio não fazer update desse campo? Nesse caso: <form method="POST" action=""> <input type="text" name="alguma_coisa_a" placeholder="alguma coisa a" /> <input type="text" name="alguma_coisa_b" placeholder="alguma coisa b" /> <input type="text" name="alguma_coisa_c" placeholder="alguma coisa c" /> <input type="text" name="alguma_coisa_d" placeholder="alguma coisa d" /> <input type="text" name="alguma_coisa_e" placeholder="alguma coisa e" /> <input type="hidden" name="alguma_coisa_f" value="valor oculto" /> <input type="checkbox" name="alguma_coisa_g" value="1" checked="" /> <input type="checkbox" name="alguma_coisa_h" /> <button>Executar Exemplo</button> </form> <?php $post = filter_input_array(INPUT_POST, FILTER_DEFAULT); if ($post) { $naoVazios = []; foreach ($post as $key => $value) { if (!empty($value) && $value != '0') { $naoVazios[$key] = $value; } } if (count($naoVazios)) { echo ("<pre>"); var_dump($naoVazios); echo ("</pre>"); } /* Não sei se se vai funfar, pois não uso a "jossa do sqli" a uns 10 anos ou mais */ // UPDATE clientes SET " . implode(', ', $naoVazios). " WHERE id_cliente = " .$_POST['id']; } Atenção ao valor de $_POST['id'] se esse valor for -1 ou um type_script seu banco de dados corre sérios riscos. De qualquer forma todos os dados devem ser analisados, checados, filtrados, limpos, re-checados só então podem ser inseridos em uma query...
-
Uma forma seria através de uma variável global. Cada botão tem um valor que é comparado com a global quando um botão de valor maior que a VAR é clicado avisa que tem que clicar no anterior primeiro, se esse foi clicado a VAR global passa ter o valor do botão exemplo: Você pode também está criando os botões seguintes assim que uma tarefa é concluída, para isso você vai precisar de: https://developer.mozilla.org/pt-BR/docs/Web/API/Document/createElement -> Para criar os botões. https://developer.mozilla.org/pt-BR/docs/Web/API/Element/addEventListener -> Para adicionar evento click ao botão criado. https://developer.mozilla.org/pt-BR/docs/Web/API/Node/appendChild -> Para inserir o botão criado ao documento.
-
Experimente esse meu script: https://github.com/Spell-Master/sm-web/tree/master/javascript/Accordion
-
Mas @wanderval ele pode usar o atributo "data" e obter quantos dados quiser.... Só que como você mesmo diz (é mais lento para processar): <div id="algum" data-a="alguma_coisa_1" data-b="alguma_coisa_2" data-c="alguma_coisa_3" data-d="alguma_coisa_4"> ... e por aí vai... </div> <script> console.log(document.getElementById('algum').dataset); </script>
-
Dúvida: Ocultar senha do exibir código fonte da página
Omar~ respondeu ao tópico de Camilavip em PHP
Isso não é possível só dessa forma. Uma vez acessado um endereço o servidor irá enviar a estrutura HTML do documento para o browser da pessoa. O browser de pessoa "X" uma vez preenchido um input ficará salvo no diretório temporário de arquivos dessa pessoa. Portanto pessoa "Y" não tem acesso a isso porque não está na máquina dele. No entanto sim, é possível roubar essas informações, seja dados de input, session ou cookies etc.., mas isso é questão de 99% vulnerabilidade por parte da pessoa e 1% da aplicação ao qual pode-se prever através de segurança do servidor, evitando XSS e trabalhando com criptografia de dados. Assim sendo se esses dados vazam é por insegurança da máquina do usuário. Tenha em mente que qualquer HTML, CSS e JavaScript é entregue ao(s) usuário(s) e não dados inter-serve ou back-end. -
CP_ADMIN > Customization > Themes > Edit HTML and CSS > Templates Localize o conteúdo no editor dos elementos correspondentes. Na tag <li> onde fica a imagem adicione um classificador qualquer. CP_ADMIN > Customization > Themes > Edit HTML and CSS > Css Crie o classificador adicionado anteriormente com as dimensões que você quer para a tag <li> onde fica a imagem Entretanto desconfio que esteja com uma versão "pirata" do IPB, pois se pagou pelo software você terá todo e qualquer suporte do mesmo diretamente pela invision community.
- 5 respostas
-
Você pode está fazendo a consulta no carregamento da página, então pegar todos índices de e-mail cadastrados por exemplo codificar em JSON e criar um array no javascript com esses índices, então ao submeter o form o valor do input será comparado com cada valor do array. Se existir o script retorna falso não submetendo o form. Exemplo: Porém também deverá fazer essa verificação por back-end também pós submetido, porque qualquer um pode acessar o javascript e apagar ou editar o array de dados. Uma alternativa também é submeter o form por ajax, então você faz a comparação do valor com o resultado do banco sem redirecionar a página. Veja isso: https://github.com/Spell-Master/sm-web/tree/master/javascript/AjaxRequest Enfim, independente você sempre terá que comparar os valores antes de registrar novos dados no banco.
-
Isso depende se sua URI tem credenciais de acesso o que vai abrir em outro servidor. Normalmente não, mas se for um website parceiro ou mesmo que você tem acesso ao servidor você pode está liberando esse acesso. Mais informações em: https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Headers/Access-Control-Allow-Origin