2014-11-04 45 views
0

我正在使用jsignature插件(http://willowsystems.github.io/jSignature)允许用户对表单进行“签名”。这一切正常工作,但我试图在页面重新加载到同一画布后输出签名,以便可以在必要时进一步编辑(这只有在表单验证由于任何原因而失败时才会发生)。如何在页面重新加载后输出jsignature

我不明白的是,如果我重新加载页面之前,我可以正确地重新绘制它,但如果我尝试重新加载后,然后我得到一个“错误:jSignature无法找到格式的导入插件'undefined' “错误,它不会工作。

所以,如果我在使用下面的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脚本)。

如果任何人都可以摆脱任何光线,它将大规模赞赏。

干杯,

戴夫

回答

2

我已经使用jSignature成功(“的getData”,“默认”),这得到的数据出来用base64,可以的img标签使用,工作时使用importData也是如此。

相关问题