Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

248
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!