我如何从 div 获取除 jspdf 的空值之外的所有输入?

How do i get all inputs from div except empry values for jspdf?

我正在使用 jspdf 从我拥有的一些 div 创建 pdf。 有很多输入,有些是必需的,有些不是。我只需要 从我的输入字段中获取不为空的值,但我无法让它工作,即使我 90% 确定我的代码应该工作正常。这是:

  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')

上面的代码不起作用。当我使用它时,我对 pdf 一无所获。如果我删除 .lenght>0 它可以工作,但它会得到所有空值,所以我的 pdf 有很多空格。我试过使用 input.val().>0input.val().!=='' 和 none,它们都有效,它们都给我相同的结果。 如果我的输入字段不为空,我该如何正确检查?

这可能是一个错字:

input.val().lenght

应该是这样的:

input.val().length

您应该会在浏览器控制台中看到一条错误消息,因为 length 拼写错误。

我找到了我自己问题的答案。代码很好,问题出在我的自动增量变量“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')

正如您在上面看到的,我的变量在“每个”循环之外,该循环通过我的输入字段的非空值循环。循环很好,但是由于“i++”变量不在循环中,它正在计算空值并在非空值之间给我空格。所以我唯一需要做的就是将我的“i”移动到循环中。是的,非常愚蠢的错误,但我花了几个小时才发现。