Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

117
Visualizações
¿Los resultados de la barra de búsqueda dinámica no aparecen en mi página?

Entonces, estoy creando una barra de búsqueda dinámica y todo funciona como se supone que debe (obtener los resultados de Django, convertirlo a JSON, JS recibe el JSON, etc.), excepto la conversión de los resultados a HTML en la página. No estoy seguro de lo que se supone que debo hacer para que los resultados se muestren en la página web y ya no solo en la consola.

Código:

 <form class="d-flex" method="POST"> {% csrf_token %} <input class="form-control me-2" type="search" id='search' placeholder="Search for books via their titles" aria-label="Search" > <div id="results" style="display: none;"> </div> </form>
 document.addEventListener("DOMContentLoaded", () => { // TODO: Implement Search Mechanic const search = document.querySelector("#search"); if (search !== null) { search.onkeyup = () => { console.log(search.value); get_results(search.value); }; } }); function get_results(query) { //TODO Create API to get results if (query === null) { return [] } if (query !== "") { fetch(`/results/${query}`) .then(response => response.json()) .then(result => { console.log(result); const display_div = document.querySelector("#results"); display_div.style.display = "block"; result.forEach(query => { console.log(query); const par = document.createElement("par"); const a = document.createElement("a"); a.classList.add = "links"; a.textContent = query.name; a.href = "#"; par.appendChild(a); display_div.appendChild(par); }); }); } }
 @login_required def results(request, query): if request.method == "GET": if query is not None: results = Search(query).get_results() print(results) JsonResponse({"message": f"query {query} successful"}, status=200) response = serializers.serialize("json", results) return HttpResponse(response, content_type='application/json')
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

par no es una etiqueta html válida.

¿Inspeccionaste tu dom, se está agregando algo?

about 4 years ago · Juan Pablo Isaza Relatório

0

Además de cambiar search.js como se muestra a continuación, moví mi formulario y div fuera de la barra de navegación en la que estaban. Todo funciona ahora.

 document.addEventListener("DOMContentLoaded", () => { const search = document.querySelector("#search"); const display_div = document.querySelector("#results"); if (search !== null) { search.onkeyup = (e) => { display_div.style.display = "none"; if (e.key !== " " || e.key !== "Enter") { get_results(search.value); } }; document.addEventListener("click", (e) => { if (e.target !== 'a.nav-link') { display_div.style.display = "none"; } }); } }); function get_results(query) { if (query === null || query.length < 3) { return [] } if (query !== "") { fetch(`/results/${query}`) .then(response => response.json()) .then(result => { console.log(result); const a = document.createElement("a"); const display_div = document.querySelector("#results"); display_div.innerHTML = ""; result.forEach(query => { console.log(query); a.setAttribute("class", "nav-link"); a.textContent = query.fields.name; link = `book/view/${query.pk}` a.href = `http://127.0.0.1:8000/${link}`; a.onclick = () => { window.location.href = `http://127.0.0.1:8000/${link}`; }; display_div.appendChild(a); }); display_div.style.display = "block"; }); } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda