Jump to content

Omar~

Members
  • Content count

    949
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by Omar~


  1. Vou responder aqui porque aqui é o tópico que solicitou ajuda.

     

    Irei explicar.

    quando você insere isso ao link: onclick="mostrarAtivo(this)"

    o this fala para a função "ISSO", "FUI EU QUEM FOI CLICADO" ou seja é aquele elemento que  é enviado como parâmetro para a função.

    Então no básico, você está tentando complicar o que não é.

     

    mostrarAtivo(parametro) {
         parametro.style.color = "#ff0000";
    }

    No caso na função parâmetro passa ser a tag, elemento ou qualquer coisa que esteja com evento onclick chamando a função.

    <a onclick="mostrarAtivo(this)"> 

    <div mostrarAtivo(this)>

    <input mostrarAtivo(this)>

    E assim vai com qualquer coisa.....

    Além do mais como você quer fazer não é muito legal utilizar-se de style, de uma pesquisada sobre setAttributeremoveAttribute para que não precisa fazer isso: style.color = "";

    Qualquer caso lá vai

    https://developer.mozilla.org/pt-BR/docs/Web/API/Element/setAttribute

    https://developer.mozilla.org/pt-BR/docs/Web/API/Element/removeAttribute

     

     


  2. 7 horas atrás, cesarhtc disse:

    Desculpe a ignorância poderia seria assim?

     

    Atualmente :

    <embed id="embedGNU" type="text/html" src="pagina.asp?variavel=<%=variavel%>" height="500px" width="100%" />

     

    Seria isto

    <head>

     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    </head>

     

    <script> $(selector).html(pagina.asp?variavel=<%=variavel%>)</script>

     

     

    .html da jQuery na base serve somente para inserir conteúdo, e não uma requisição.

    No caso o que @GabrielFerrari disse é para você usar AJAX, ao qual com jQuey possui alguns métodos. Você pode fazer assim, não é o ideal mas é o mais simples para mostrar:

    <script type="text/javascript">
    $(document).ready(function () {
        $('.mostrar-pagina').load('pagina.asp?variavel=<%=variavel%>');
    });
    </script>
    <div class="mostrar-pagina"></div>

     

    A dica quo o @Maujor deu também é muito boa.

     


  3. 1 hora atrás, Matheus Tavares disse:

    @Omar~, você não armazena simplesmente que o usuário está ativo.

    Você armazena em que momento ele esteve ativo a última vez.

     

    Você pode armazenar isso:

    1 - Através de AJAX + setInterval, digamos, a cada minuto ou 30 segundos, se você precisa de maior precisão.

    2 - Ou simplesmente em cada requisição comum você atualiza a informação de data/hora.

     

    Na hora de exibir você pega os usuários que estiveram ativos nos últimos X minutos (5 por exemplo).

     

    Para fins de performance, você deveria varrer essa tabela periodicamente para remover registros antigos.

     

    Entendi, ótima sugestão.

    Mesmo que o usuário faça o login eu entre por permanência de conexão, lanço um registro pegando a time() daquele momento e aumentando +1 no contador.

    E a cada X intervalo de tempo faço a atualização da tabela.

     

    Sobre registros antigos, é simples automatizar a limpeza. Todo registro deve conter sua data de inscrição, ao inserir um novo, se houver quantidade X de registros já existentes, é só fazer um delete no que for mais antigo pegando o valor da data. (Fiz isso a algum tempo em um Chat-Box).

     

     


  4. Bom não sei nem por onde começar então vou perguntar, alguém deve saber...

     

    Como eu faria um contador de quem está online?

    É mostrar quantas pessoas estão online no website no momento.

     

    Bem eu pensei em fazer o seguinte: Ao usuário logar registro no banco de dados que há mais um user online, mas e se ele simplesmente fecha o navegador e não desloga?

    Ao mesmo faz parte de outra coisa que quero fazer. Detectar inatividade na página, mas isso fica a critério de outro tópico.

     

    Como funciona? Esse fórum utiliza-se disso tanto mostra quem está online quanto detecta inatividade.


  5. Como nosso amigo já mencionou poste o CSS, com formatação, use o botão CODE do editor aqui do fórum. Se for muito grande coloque ele em spoiler.

     

    A div.main está abaixo da div.menu e div.menu > uldiv.menu > ul > li

    Onde provavelmente pode haver um incoerência de espaços, (floats, position ABSOLUTE/ STATIC/ FIXED) podem causar anomalias no layout se não forem feitas corretamente.

    Além do mais como a propiedade bottom refere-se ao próximo elemento o que vem depois da div.main pode ser a causa do problema.


  6.  

    Em 23/01/2018 at 13:14, kneip disse:

    A pessoa que entrar, pode atualizar essas informações que estão salvas no banco. Eu estou usando Session para puxar os dados e apresentar no painel de controle do usuário.

     

    Em 23/01/2018 at 13:14, kneip disse:

    então caso ele altere apenas o telefone e mandar atualizar, o estado e cidade vão salvar em branco

     

    Se for o que eu entendi, porque não faz a comparação do valor do input com a cessão antes de fazer o update da tabela? Ou seja se for igual não faça o update desses campos. Bom foi esse o problema que entendi.


  7. Veja um exemplo de como proceder.

    <?php
    session_start();
    $_SESSION['acesso'] = 1;
    
    if (isset($_SESSION['acesso'])) {
      switch($_SESSION['acesso']) {
        case 1:
            echo ("Isso aparece quando a sessão acesso for 1");
        break;
        case 2:
        case 3:
            echo ("Isso aparece quando a sessão acesso for 2 ou 3");
        break;
        default:
            echo ("Isso aparece quando a sessão acesso for de algum valor não definido nessa bateria");
        break;
      }
    } else {
    	echo ("A cessão acesso não foi iniciada");
    }

     


  8. Existem 2 formas de fazer, mas ambas é meio complicado de dar um exemplo prático.

    Uma form é como esse fórum utiliza entre tantas outras aplicações na web utilizam. Um registro no banco de dados, então ao acessar a página, uma consulta é lançada para verificar essa configuração que pode ser até uma tabela mesmo só de config.

    Para isso pesquise a respeito de consultas e leituras de banco de dados.

     

    Outra que acho menos viável é fazendo a leitura de um arquivo que guarda essa configuração. Que ao editar qualquer configuração o arquivo é re-escrito, é muito simples de fazer com o PHP, mas requer prática em manipulação de diretórios e arquivos.

    Para isso pesquise a respeito dessas funções do PHP: getcwd() fopen() fgets()

     

    Ou seja em algum lugar deve ficar registrado que tipo de ação deve ser tomada mediante a configuração.

    Na prática tudo funciona assim:

    <?php
    $config = [
      'config_name' => 'Configuração de nome',
      'config_val' => true // "true" OR "null"
    ];
    
    
    if (isset($config['config_val']))  {
      echo "Isso só vai aparecer se config_val estiver como TRUE <br />Se quiser que não apareça defina como NULL a configuração";
    }

     


  9.  

    @Neusa Novaes De uma pesquisada a respeito de CRUD com PHP porque tem erro na cara em seu código. E de preferência a orientação a objeto que simplifica milhares de vezes o processo.

     

    Em 21/01/2018 at 14:25, Neusa Novaes disse:

    $grava = mysql_query("UPDATE

     

     

     


  10. $conn = [
        'host' => 'endereço do banco de dados', 
        'user' => 'login de usuário do banco que pode pelo menos fazer leitura', 
        'pass' => 'senha de usuário usado acima', 
        'data' => 'nome do banco de dados para conectar', 
    ];
    
    $mysqli = new mysqli($conn['host'], $conn['user'], $conn['pass'], $conn['data']);
    if ($mysqli->connect_error) {
        die('Error de conexão (' . $mysqli->connect_errno . ')' . $mysqli->connect_error);
    } else {
        echo "Conexão foi bem bem sucedida";
    }

     

     

    • Obrigado! 1

  11. A algum tempo criei esse exemplo aqui no fórum ver se lhe ajuda:

    Spoiler
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Checagem se o botão já foi clicado</title>
            <script>
                var VerificarClique = function () {
                    var $cliques = 0;
                    var $botao = document.getElementsByClassName('botao');
                    var $quantBt = $botao.length;
                    var $i;
    
                    for ($i = 0; $i < $quantBt; $i++) {
                        $botao[$i].onclick = function () {
                            if (this.className !== 'botao ativado') {
                                recebeValor(this);
                            } else {
                                return false;
                            }
                        };
                    }
    
                    function recebeValor(parametro) {
                        $cliques++;
                        parametro.className += ' ativado';
                        parametro.style.opacity = '0.5';
                        parametro.innerHTML = 'Ativado';
    
                        document.getElementById('mostra').innerHTML = 'Botões que foram clicados: ' + $cliques;
                    };
    
                    this.resetarBotao = function () {
                        for ($i = 0; $i < $quantBt; $i++) {
                            if ($botao[$i].className === 'botao ativado') {
                                $botao[$i].className = 'botao';
                                $botao[$i].style.opacity = '1';
                                $botao[$i].innerHTML = 'Desativado';
                            }
                        }
                        $cliques = 0;
                        document.getElementById('mostra').innerHTML = 'Todos botões foram resetados';
                    };
                };
            </script>
            <style>
                button {
                    width: 6rem;
                    cursor: pointer;
                    outline: none
                }
                button.reset {
                    padding: .625rem;
                    background-color: #bb0;
                    border: none
                }
            </style>
        </head>
        <body>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
            <button class="botao">Desativado</button>
    
            <br>
            <button class="reset" onclick="return clickCheck.resetarBotao()">Resetar</button>
            <hr>
            <div id="mostra"></div>
    
            <script>clickCheck = new VerificarClique();</script>
        </body>
    </html>

     

     


  12. Também não entendi o que é o que para exibir mediante evento hover:

    Se for .menu-itens

    ul.menu-itens:hover > li {
      display: block
    }

    Ou seja quando o elemento UL que tenha a class menu-itens receber event hover vai fazer que seu conteúdo interno que contenha a tag LI receba a propriedade block.

     

    Se for #menu-hover-1

    #menu-hover-1:hover > .submenu-chamada {
        display: block
    }

    Ou seja quando elemento DIV que seja identificado por menu-hover-1 receber event hover vai fazer que seu conteúdo interno que seja DIV.submenu-chamada receba a propriedade block.

     

    Não sei se compreende mas a sintaxe é simples:

    Elemento pai é o elemento que possua algum conteúdo interno, e o filho é aquele que está dentro do elemento pai.

    Assim sendo podemos manipular os filhos de acordo com os eventos do elemento pai ou seja tem que existir um vínculo entre eles para poder fazer essa manipulação.

    <style>
       div {min-height: 200px}
       .elemento-pai {width: 500px; padding: 20px; background-color: red}
       .elemento-filho {width: 50%; margin: 1%; background-color: green}
       
       .elemento-pai:hover > .elemento-filho {background: blue}
    </style>
    
    <div class="elemento-pai">
        <div class="elemento-filho"></div>
        <div class="elemento-filho"></div>
    </div>

     

    Além disso é possível manipular elementos não vinculados, mas isso necessita de javascript como o Matheus já comentou.

     

    Só mais uma coisa, antes de exibir por display: block é necessário que o elemento esteja oculto por display: none.

    E o CSS apresentado contém talvez umas 100 linhas, elemento sendo repassado por elemento class sendo repassado por class. Dar para obter o mesmo resultado de layout com menos de 30 linhas, isso sem minimizar o css, porque do jeito que fez esta muito bagunçado, a maior parte do que foi feito nem precisava existir.


  13. Break (Quebra de linha)<br />

    <p>Paragrafo</p> 

    Ou seja dar tudo no mesmo.

     

    A propriedade inline-block significa que o elemento deve ficar em linha com o elemento posterior.

    Também existe inline-table que praticamente faz a mesma coisa só que trata os elementos como se pertencessem ao mesmo bloco (Na prática quando um elemento pai recebe a propriedade display: table e os elementos filhos tenham inline-table simula como se fossem um TABLE > TR > TD)

     

    No caso do float-left que dizer: Jogue o elemento para esquerda independente de qualquer outro elemento posterior a ele na página. Ou seja eles estarão naquele bloco mas os outros elementos não o reconheceram como um bloco ocupante de espaço. Então para quebrar linha depois de um float.

     

    HTML

    <div class="left">X*X</div><div class="left">X-X</div>
    <div class="clear"></div>

    CSS

    .left {
       float: left
    }
    .clear {
      clear: both
    }

     

    Na verdade existe uma infinidade de possibilidades de posicionar, alinhar, dividir elementos com CSS.

     


  14. Também não sou fã de usar TABLE.

    Sei lá poderia ser assim?

    <div><b>Campo</b> Valor do campo</div>

     

    Ou talvez algo tipo isso? não sei

    <style>
      .linha {
        display: inline-block;
      }
      .linha.bold {
        font-weight: bold
      }
    </style>
    <div class="linha bold">Campo</div> <div class="linha">Valor do campo</div>

    Ou isso?

    <style>
      .linha {
        float: left
      }
      .linha.bold {
        font-weight: bold
      }
    </style>
    <div class="linha bold">Campo</div> <div class="linha">Valor do campo</div>

     


  15. As única formas que pensei nesse momento você pode fazer seria.

    Uma consultar usando INNER_JOIN de 2 ou mais tabelas e preencher o valor nos inputs de acordo com cada tabela.

    Ou por intermédio de AJAX que me parece meio "tosco" fazer assim, ficando a primeira opção mais viável.

    Na página que mostrará os forms preenchidos.

    Você pode executar um ajax em no arquivo 1 que contém o FORM1 e a consulta para esse form.

    Também executa outro ajax no arquivo 2 que contém o FORM 2 e a consulta.

     

    Ou você quis dizer obter os dados da segunda tabela de acordo com os dados que foram preenchidos no primeiro form? Não deu para perceber o código que postou tá muito bagunçado.

     


  16. Vou acompanhar seu post, estou interessado nessas coisas pois estou fazendo um classe para tratar disso e muito mais que seja relacionado.

    Segue o que já fiz:

    Spoiler
    
    <?php
    /**
     * ****************************************************
     * @Copyright (c) 2017, Spell Master.
     * @version 1.2 : 2018 Spell Master
     * ****************************************************
     * @Class: Retorna dados na máquina que está acessamdo
     *         o servidor.
     * ****************************************************
     * @log v1.2 : Adicionado método para obter o IP da 
     *             máquina.
     * ****************************************************
     **/
    
    class UserAgent {
    
        private $userData;
        private $userIP;
        private $setOS;
        private $setBrowser;
        private $osTrue = null;
        private $browserTrue = null;
    
        /** ************************************************
         * @Method: Define os dados e chama os métodos.
         * *************************************************/
        function __construct() {
            $filterServe = filter_input_array(INPUT_SERVER, FILTER_DEFAULT);
            $filterIp = filter_input_array(INPUT_SERVER, FILTER_VALIDATE_IP);
            $this->userData = $filterServe['HTTP_USER_AGENT'];
            $this->userIP = $filterIp['REMOTE_ADDR'];
            $this->checkOs();
            $this->checkBrowser();
        }
    
        /** ************************************************
         * @Method: Verifica o sistema operacional.
         * *************************************************/
        private function checkOs() {
            $os = ['/windows nt 10/i' => 'Windows 10', '/windows nt 6.3/i' => 'Windows 8.1', '/windows nt 6.2/i' => 'Windows 8', '/windows nt 6.1/i' => 'Windows 7', '/windows nt 6.0/i' => 'Windows Vista', '/windows nt 5.2/i' => 'Windows Server 2003/XP x64', '/windows nt 5.1/i' => 'Windows XP', '/windows xp/i' => 'Windows XP', '/windows nt 5.0/i' => 'Windows 2000', '/windows me/i' => 'Windows ME', '/win98/i' => 'Windows 98', '/win95/i' => 'Windows 95', '/win16/i' => 'Windows 3.11', '/macintosh|mac os x/i' => 'Mac OS X', '/mac_powerpc/i' => 'Mac OS 9', '/linux/i' => 'Linux', '/ubuntu/i' => 'Ubuntu', '/iphone/i' => 'iPhone', '/ipod/i' => 'iPod', '/ipad/i' => 'iPad', '/android/i' => 'Android', '/blackberry/i' => 'BlackBerry', '/webos/i' => 'Mobile'];
            foreach ($os as  $reg => $value) {
                if (preg_match($reg, $this->userData)) {
                    $this->setOS = (string) $value;
                    $this->osTrue = true;
                }
            }
        }
    
        /** ************************************************
         * @Method: Verifica o navegador.
         * *************************************************/
        private function checkBrowser() {
            $browser = ['/msie/i' => 'Internet Explorer', '/firefox/i' => 'Firefox', '/safari/i' => 'Safari', '/chrome/i' => 'Chrome', '/edge/i' => 'Edge', '/opera/i' => 'Opera', '/netscape/i' => 'Netscape', '/maxthon/i' => 'Maxthon', '/konqueror/i' => 'Konqueror', '/mobile/i' => 'Handheld Browser'];
            foreach ($browser as $reg => $value) {
                if (preg_match($reg, $this->userData)) {
                    $this->setBrowser = (string) $value;
                    $this->browserTrue = true;
                }
            }
        }
    
        /** ************************************************
         * @Method: Retorna os dados da máquina que está
         * acessando.
         * *************************************************/
        public function getUserMachine() {
            return $this->userData;
        }
    
        /** ************************************************
         * @Method: Retorna o sistema operacional da máquina
         * que está acessando.
         * *************************************************/
        public function getOs() {
            if (isset($this->osTrue)) {
                return $this->setOS;
            } else {
                return " ";
            }
        }
    
        /** ************************************************
         * @Method: Retorna o navegador da máquina que está
         * acessando.
         * *************************************************/
        public function getBrowser() {
            if (isset($this->browserTrue)) {
                return $this->setBrowser;
            } else {
                return " ";
            }
        }
    
        /** ************************************************
         * @Method: Obtem o endereço de IP da máquina que
         * está acessando.
         * *************************************************/
        public function requestIP() {
            return $this->userIP;
        }
    }

     

     

    • Obrigado! 1

  17. 3 horas atrás, Joao Cortat disse:

    oi Omar~,

     

    realmente nao ficou bem explicado.

     

    a funçao da formula esta fazendo o que pretendo, condicionar certas escolas. Ex: escolheu segunda, terça e quarta ficam desativadas.

    o problema é que caso a pessoa erre a marcação nao tem mais volta.mesmo clicando no dia para dar uncheck as opçoes desabilitadas nao voltam mais. teria algum botao ou codigo q fizesse isso, deixar a tabela como de inicio ?

     

    outro pedido, se nao for muito abuso, o código q estou utilizando esta correto, vai me fornecer os dados ?

     

    nao tenho nenhuma experiencia nessa área. é  a primeira vez que tento fazer um formulário.

     

    obrigado!

     

    Sim o código que mostrou vai funcionar, só devo realsar que não use acentuações ou cedilhas no caso ID.TERÇA, use TERCA.

    Você pode fazer com seu próprio código usando

    Citar

    if (obj.id == 'SEGUNDA') {

        //ação a se tomar

    } else if (obj.id == 'TERCA') {

        // ação a se tomar

    }

    E assim vai validando todas as questões que achar necessário.

     

    Só que para manipulação dos inputs modifique isso (No caso #? seria o ID do input que queira manipular)

    document.getElementById('#?').disabled = true;

     

    para

    document.getElementById('#?').setAttribute('disabled', 'disabled');

     

    E para deixar um input desabilitado acionável novamente pode suar isso

    document.getElementById('#?').removeAttribute('disabled');


  18. 3 horas atrás, Matheus Tavares disse:

    Resumindo: "id" você usa para idenitificar no DOM. Manipular no JS, no CSS e identificar unicamente o elemento.

    "name" tem uma semântica completamente diferente: é utilizada como fonte de dados para Submissão de formulários.

    Ambos devem ser usados, cada um em seu contexto.

     

    Em tese foi isso que quis me referir que cada coisa é cada coisa, no caso aqui em questão o uso o ID é desnecessário. Usar o ID no input seria uma forma de atacar um input em questão.

    No entanto para o uso do serialize com jquery é melhor apontar um ID no form para esse tipo de requisição. Hora que se encapsular simplesmente o form sem aponta-lo e tenha mais de um form na página todos os inputs "NAME" pertencentes ou não ao formulário em questão serão processados, fazendo o uso de algo completamente desnecessário.


  19. Eu sempre fico curioso, porque as pessoas usam id e name em forms sem a necessidade? Poderia me esclarecer isso?

    Uma vez que ambos são identificadores.

     

    Bem com jQuery facilita tudo, então você pode criar variáveis encapsulando para cada input. 

    var nome = $('input[name="nome"]').val();
    var senha = $('input[name="senha"]').val();
    var email = $('input[name="email"]').val();
    $.ajax({
        method: 'POST',
        url: 'inserir.php',
        dataType: 'html',
        data: {nome: nome, senha: senha, email: email},
        success: function (data) {
        // Post success
        }
    });

    Tem uma jeito mais simples veja:

    Spoiler
    
    <form method="POST" onsubmit="return enviarPost();">
        <input type="text" name="nome" placeholder="Insira seu nome de usuário..">
        <input type="text" name="senha" placeholder="Insira sua senha..">
        <input type="text" name="email" placeholder="Insira seu email..">
        <input type="submit" value="Enviar">
    </form>

    A função

    
    function enviarPost() {
        $.ajax({
            method: 'POST',
            url: 'inserir.php',
            dataType: 'html',
            data: $('form').serialize(),
            success: function (data) {
                // Post success
            }
        });
        return false;
    }

     

     

    O método serialize da jQuery já vai enviar todos os valores que estiverem em inputs que estejam identificados com NAME para o arquivo que colocar em url

    • Obrigado! 1

  20. Não seria mais eficaz assim? Pense nisso

    if (empty($_POST['email'])) {
        echo ("Digite o e-mail");
    } else if (empty($_POST['senha'])) {
        echo ("Digite a senha");
    } else {
     // e-mail e senha foram preenchidos o que fazer agora?
    }

     

     

    Note que no caso não exite nenhuma validação ou filtro para prever injeção de código. O que é sem dúvida a mais grave de todas as falhas. Segurança sempre deve vir em primeiro lugar.

     


  21. Não entendi direito, primeiro você quer se marcar uma opção não possa marcar mais, depois diz que pode marcar outra?

    Me perdi nisso.

     

    Enfim vamos ao que entendi que se marcar qualquer opção todas as outras fiquem indisponíveis, primeiramente você vai ter que consertar o html, remover tudo e qualquer elemento identificador ID.

    Depois atribuir o elemento class a cada input.

    No código javascript executa-se um loop buscando todos elementos com class tal e fazemos a mágica acontecer.

    Veja o exemplo:

    Html

    Spoiler
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <script src="checkDisable.js" type="text/javascript"></script>
        </head>
        <body>
            <input type="checkbox" class="input_v" name="name1" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name2" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name3" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name4" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name5" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name6" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name7" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name8" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name9" onclick="inpt.marcar();"/>
            <input type="checkbox" class="input_v" name="name10" onclick="inpt.marcar();"/>
    
            <script>var inpt = new checkDisable();</script>
        </body>
    </html>

     

    Arquivo checkDisable.js

    Spoiler
    
    var checkDisable = function () {
        var $input = document.getElementsByClassName('input_v');
        var $quantBt = $input.length;
        var $i;
    
        this.marcar = function () {
            for ($i = 0; $i < $quantBt; $i++) {
                $input[$i].disabled = true; 
            }
        };
    };

     

     

    No entanto desconheço uma forma de voltar atrás, uma vez que algum elemento do DOM é definido desabilitado, o navegar irá ignorar qualquer evento javascript vinculado a ele. Ou seja não será possível mais acionar a função por evento click ou qualquer outro que esteja vinculado ao elemento em questão. É necessário uma ação externa que pode ser por um button ou qualquer outra coisa.


  22. Simples:

    div.responsivo {width: calc(100% - 300px)}

     

    Ou seja fazemos o navegador calcular 100% de disponibilidade -300px que é o tamanho da outra div.

    Obs.: Só use isso em casos extrema necessidade. Pois se houver certa quantidade de elementos recebendo essa propriedade pode causar lentidão da página.


  23. Só um palpite, mas deve está apresentado HTML erro 500.

    Erro grave de sintaxe de arquivo.

    Citar

    $senrec="";
    <?php // TAG php sendo reaberta dentro o código?
    $query = "SELECT * FROM afrecom WHERE codigo='{$codigo}'";

     

×

Important Information

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