Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

246
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda