我正在使用jsignature插件(http://willowsystems.github.io/jSignature)来允许用户“签署”表单。这一切都正常但是我试图在页面重新加载到同一个画布后输出签名,以便在必要时可以进一步编辑(这只有在表单验证因任何原因失败时才会发生)。
我无法理解的是,如果在重新加载页面之前我可以正确地重绘它,但如果我在重新加载后尝试,那么我得到一个“错误:jSignature无法找到导入插件格式'未定义'”错误,它将无法正常工作。
因此,如果我在提交按钮上使用以下JS代码,它可以正常工作(清除画布然后重绘它):
$("#signature").jSignature({'UndoButton': true});
$('#qmembershipsubmit').click(function(e) {
var datapair = $('#signature').jSignature("getData","base30");
var datastr="data:" + datapair.join(",");
$("#signature").jSignature("reset");
alert('should be cleared');
$("#signature").jSignature("importData",datastr);
return false;
});
但是,我不想进行JS表单验证,并希望通过表单传递值,然后在必要时在下一页上重复使用它。但是,当我使用以下代码(因此它使用存储在#signature_capture2中的字符串运行importData命令)时,我无法找到导入插件错误:
$("#signature").jSignature({'UndoButton': true});
if($('#recreatesig').val()=='1')
{
alert('recreate');
$("#signature").jSignature("importData",$('#signature_capture2').val());
}
$('#qmembershipsubmit').click(function(e) {
var datapair = $('#signature').jSignature("getData","base30");
var datastr="data:" + datapair.join(",");
$("#signature_capture2").val(datastr);
});
datastr的值与signature_capture2中存储的值匹配,所以我不能在我的生活中看到为什么这不起作用肯定它有效地做同样的事情(并且它在同一页面重新加载所以相同的插件/两个都包含了js脚本。
如果有人可以放弃任何光线,那将会受到大力赞赏。
干杯,
戴夫
答案 0 :(得分:2)
我使用jSignature(“getData”,“default”)取得了成功,这可以在base64中获取数据,可以在img标签上使用,也可以在使用importData时使用。