php - jSignature复制svg信息以形成文本字段
问题描述
我有这个脚本正在运行,用户可以放置它的签名。但是我没有成功地将svg
生成的信息复制到文本字段中,因此我可以将它与这个 html 表单一起发送到我的数据库。
<div id="signature"></div>
<textarea id="signature_svg" rows="5" cols="50"></textarea>
.
<script src="vendor/jsignature/jSignature.min.js"></script>
<script>
$(document).ready(function() {
var $sigdiv = $("#signature")
$sigdiv.jSignature() // inits the jSignature widget.
// after some doodling...
$sigdiv.jSignature("reset") // clears the canvas and rerenders the decor on it.
// Getting signature as SVG and rendering the SVG within the browser.
// (!!! inline SVG rendering from IMG element does not work in all browsers !!!)
// this export plugin returns an array of [mimetype, base64-encoded string of SVG of the signature strokes]
var datapair = $sigdiv.jSignature("getData", "svgbase64")
var i = new Image()
i.src = "data:" + datapair[0] + "," + datapair[1]
$(i).appendTo($("#signature_svg")) // append the image (SVG) to DOM.
$("#signature").bind('change', function(e){ document.getElementById('signature_svg').value; })
})
</script>
我没有在控制台中检测到任何错误。
有什么建议如何获取signature
into的信息,signature_svg
以便我可以发送包含此信息的表格?
解决方案
解决方案是将部分代码移动到JS
事件中。
<script>
$(document).ready(function() {
var $sigdiv = $("#signature")
$sigdiv.jSignature() // inits the jSignature widget.
// after some doodling...
$sigdiv.jSignature("reset") // clears the canvas and rerenders the decor on it.
})
</script>
<script>
function copy()
{
// signature
var $sigdiv = $("#signature")
var datapair = $sigdiv.jSignature("getData", "svgbase64")
document.getElementById("signature_svg").value = datapair[1];
}
</script>
推荐阅读
- angular - 在角度项目的引导程序中创建模态对象的实例时,引导程序下拉菜单不起作用
- c++ - C++ 中的类不存在默认构造函数
- uiviewanimation - 如何创建一系列以.curveEaseIn 开始并以.curveEaseOut 结束的UIView 动画,并以稳定的速度移动
- azure-devops - 为什么我无法将存储库添加到 Azure DevOps 中的项目
- c++ - 使用 char* 读取和写入文件
- css - div中标题的CSS计数器重置太频繁
- apache-spark - Parquet 格式使用 pyspark 分别存储不良记录
- python - DRF post to model with a many-to-many field
- memory - 计算机内存缓存大小和性能
- excel - 大量的多页用户窗体,在初始化时导致 Excel 意外崩溃