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

243
Visualizações
¿Cómo obtengo todas las entradas de div excepto los valores vacíos para jspdf?

Estoy usando jspdf para crear un pdf a partir de algunos divs que tengo. Hay muchas entradas, algunas de ellas son necesarias, otras no. Necesito obtener solo los valores que no están vacíos de mis campos de entrada, pero no puedo hacer que funcione, aunque estoy 90% seguro de que mi código debería funcionar bien. Aquí está:

 var doc = new jsPDF(); var i=1; $("div#home :input[type=text]").each(function(){ i++; var input = $(this); if(input.val().lenght>0){ console.log(input); var text = input.attr('placeholder')+': '+input.val(); doc.setFontSize(10); doc.text(10, (i*8) + (10),text+"\n"); } }); doc.save('a4.pdf')

El código de arriba no funciona. cuando lo uso, no obtengo nada para el pdf. si .lenght>0 , funciona, pero obtiene todos los valores vacíos, por lo que mi pdf tiene muchos espacios en blanco. He intentado usar input.val().>0 , input.val().!=='' , y ninguno de ellos funciona, todos me dan el mismo resultado. ¿Cómo puedo verificar correctamente si mis campos de entrada no son nulos?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Esto es probablemente un error tipográfico:

input.val().lenght

debería ser esto en su lugar:

input.val().length

Debería ver un mensaje de error en la consola de su navegador, porque la length estaba mal escrita.

about 4 years ago · Juan Pablo Isaza Relatório

0

Encontré la respuesta a mi propio problema. El código está bien, el problema estaba en mi variable de incremento automático "i".

 var doc = new jsPDF(); var i=1; $("div#home :input[type=text]").each(function(){ i++; var input = $(this); if(input.val().lenght>0){ console.log(input); var text = input.attr('placeholder')+': '+input.val(); doc.setFontSize(10); doc.text(10, (i*8) + (10),text+"\n"); } }); doc.save('a4.pdf')

Como puede ver arriba, mi variable estaba fuera del ciclo "cada" que estaba recorriendo los valores no vacíos de mis campos de entrada. El ciclo estaba bien, pero como la variable "i ++" estaba fuera del ciclo, estaba contando valores vacíos y me daba espacios en blanco entre los que no estaban vacíos. Entonces, lo único que tenía que hacer era mover mi "i" dentro del bucle. Sí, un error bastante estúpido, pero me llevó horas descubrirlo.

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