2014-11-04 58 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也是如此。

相關問題