Javascript Jspdf Flask TypeError元素.className.split
我有一个使用JQuery load()动态生成谷歌图表的视图,我需要将div转换为PDF。我尝试了常见的HTMLjsPDF示例,该示例返回此错误 未捕获的TypeError:element.className.split不是ElementHandledWhere上的函数 我尝试了PythonPDFKIT,并使用ajax发送了数据。它完成了这项工作,但我不知道如何返回响应。是的,我在谷歌搜索过这个错误,甚至那个代码也返回了同样的错误:( 这是我迄今为止尝试过的代码 results.htmlJavascript Jspdf Flask TypeError元素.className.split,javascript,jquery,python,flask,jspdf,Javascript,Jquery,Python,Flask,Jspdf,我有一个使用JQuery load()动态生成谷歌图表的视图,我需要将div转换为PDF。我尝试了常见的HTMLjsPDF示例,该示例返回此错误 未捕获的TypeError:element.className.split不是ElementHandledWhere上的函数 我尝试了PythonPDFKIT,并使用ajax发送了数据。它完成了这项工作,但我不知道如何返回响应。是的,我在谷歌搜索过这个错误,甚至那个代码也返回了同样的错误:( 这是我迄今为止尝试过的代码 results.html $(d
$(document).ready(function(){
var specialElementHandlers = {
'#editor': function (element,renderer) {
return true;
}
};
$('#pdfcon').click(function () {
var doc = new jsPDF();
var source = $('#pdfco').html();
var specialElementHandlers = {
'#editor': function (element, renderer) {
return true;
}
};
doc.fromHTML(source, 0.5, 0.5, {
'width': 75,'elementHandlers': specialElementHandlers
});
doc.output("dataurlnewwindow");
});
});
</script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
<script type="text/javascript" src="{{ url_for('static',filename='jspdf/plugins/addhtml.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static',filename='jspdf/plugins/from_html.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static',filename='jspdf/plugins/javascript.js') }}"></script>
不要使用
var-source=$('#pdfco').html();
尝试var-source=$('#pdfco')[0]
@Titus仍然一样是因为jquery加载函数吗?我不这么认为,我认为问题是您向doc.fromHTML
函数传递的是字符串而不是HTML元素。@Titus还有其他想法吗?我不知道出了什么问题。我也有同样的问题,是通过对svg中的fromHTML代码进行去bug发现的元素正在返回一个svganizatedstring
作为它们的类名
!
<div class="row" id="pdfco">
{% for ch_name,key,question in chart_data %}
<div class="col-xs-8 col-md-6">
<br>
</label>{{key}}. {{question}}<label>
<br>
<br>
{{charts[ch_name]}}
</div>
<br>
{% endfor %}
</div>
</div>
Uncaught TypeError: element.className.split is not a function
at elementHandledElsewhere (jspdf.debug.js:7215)
at DrillForContent (jspdf.debug.js:7426)
at DrillForContent (jspdf.debug.js:7427)
at DrillForContent (jspdf.debug.js:7427)
at DrillForContent (jspdf.debug.js:7427)
at DrillForContent (jspdf.debug.js:7427)
at DrillForContent (jspdf.debug.js:7427)
at DrillForContent (jspdf.debug.js:7427)
at jspdf.debug.js:7595
at done (jspdf.debug.js:7470)