Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro no filtro depois do AJAX

Não entendi muito bem o que houve, mas depois de buscar filtrar paciente na caixa de busca quando já busquei paciente pelo botão de Buscar Paciente, dá um erro que não entendi.

Dá o seguinte erro:

filtra.js:12 Uncaught TypeError: Cannot read property 'textContent' of null
    at HTMLInputElement.<anonymous> (filtra.js:12)

Meu código é esse:

var campoFiltro = document.querySelector("#filtrar-tabela");

campoFiltro.addEventListener("input", function () {

    var pacientes = document.querySelectorAll(".paciente");

    if (this.value.length > 0) {
        for (var posicao = 0; posicao < pacientes.length; posicao++) {

            var paciente = pacientes[posicao];
            var tdNome = paciente.querySelector(".info-nome");
            var nome = tdNome.textContent;

            var expressao = new RegExp(this.value, "i");
            if(expressao.test(nome)) {
                paciente.classList.remove("invisivel");
            }else {
                paciente.classList.add("invisivel");
            }

        }
    }else {
            for (var posicao = 0; posicao < pacientes.length; posicao++) {
                paciente = pacientes[posicao];
                paciente.classList.remove("invisivel");
            }

        }
    });

Alguém pode me explicar?

2 respostas
solução

Talvez o problema esteja no HTML. Pela mensagem de erro, parece que alguma TD da sua tabela não tem a classe "info-nome"

Vou dar uma olhada quando chegar em casa e corrigir isso. Obrigado!