You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jsPDF生成PDF时提取div内非空输入框的有效值

问题原因

你代码里的判断条件存在拼写错误,你写的input.val().lenght>0中的lenght是错误拼写,正确的属性名是length,这个错误直接导致判断条件永远不成立,所以永远不会进入生成PDF内容的逻辑,最终导出的PDF自然是空的。
你之前测试的input.val().>0属于语法错误,input.val()!==''没生效,要么是拼写错误没修正,要么是输入内容是全空格,用全等判断空字符串不触发。

正确判断方案

除了修正拼写外,建议对输入值做去空格处理,避免用户输入全空格的无效内容也被导出,判断逻辑可以参考如下写法:

// 先获取输入值并去除首尾空格
const inputVal = input.val().trim()
// 判断非空
if (inputVal.length > 0) {
  // 生成PDF的业务逻辑
}

修正后的完整代码

var doc = new jsPDF();
var i = 1;
$("div#home :input[type=text]").each(function(){
  i++;
  var input = $(this);
  var inputVal = input.val().trim();
  // 修正拼写,增加去空格逻辑
  if(inputVal.length > 0){
    console.log(input);    
    var text = input.attr('placeholder') + ':  ' + inputVal;
    doc.setFontSize(10);
    doc.text(10, (i*8) + 10, text + "\n");
  } 
});
doc.save('a4.pdf')

内容的提问来源于stack exchange,提问作者Master

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:54:02