1

jSignatureを使用してユーザーの署名を取得しています。その後、それをデータベースに入れたいと思います。署名パネルが表示され、データをアラートボックスに送信すると、それを見ることができます.asp.ページの net hidden フィールドにデータを保存していましたが、問題は、データをコード ビハインドに取得できないため、データベースに保存できないことです。

<telerik:RadCodeBlock runat="server">

<script src="../Scripts/JSignature/jquery-1.9.0.min.js"></script>
<script src="../Scripts/JSignature/jSignature.min.js"></script>

<script type="text/javascript">

    function SaveCanvasImage() {
        var image = $('#signature').jSignature('getData', 'base30');
        var hdnField = $('#<%= hdnSignature.ClientID %>');
        $('#<%=btnHidden.ClientID %>').click();
        return false;
    }

</script> 

<script>
    function pageLoad() {
        InitSignaturePanel(); //this is a function in a global js file.
    }
</script>  

</telerik:RadCodeBlock>     

<!--[if lt IE 9]>
    <script type="text/javascript" src="../Scripts/JSignature/flashcanvas.js"></script>
    <![endif]-->

<telerik:RadScriptManager runat="server"></telerik:RadScriptManager>
<div class="width400">
  <telerik:RadAjaxPanel runat="server">    <asp:Label runat="server" ID="lblHidden" />
    <asp:HiddenField runat="server" ID="hdnSignature"  />
    <div id="signature" class="trueMargin signaturePanel"></div>
    </telerik:RadAjaxPanel>

    <div class="textAlignCenter">
        <br />
        <input type="button" id="clearCanvas" value="Reset" onclick="$('#signature').jSignature('clear')" />

        <asp:Button  id="btnCaptureCanvas" runat="server" Text="Save and Close" OnClientClick="SaveCanvasImage()"  />
        <asp:Button runat="server" ID="btnHidden"  OnClick="btnHidden_Click" />    

   </div>
 </div>

そして、コードビハインドには次のものがあります。

protected void btnHidden_Click(object sender, EventArgs e)
{
    lblHidden.Text = hdnSignature.Value;
}
4

1 に答える 1

0

これは、実際には署名を非表示フィールドに入れていないために発生すると思われます。

私はあなたがこれを持っていることを意味すると思います:

function SaveCanvasImage() {
    var image = $('#signature').jSignature('getData', 'base30');
    var hdnField = $('#<%= hdnSignature.ClientID %>').val('data:' + image.join(',')); // <-- note the addition
    $('#<%=btnHidden.ClientID %>').click(); // <- what is this for by the way? 
    return false;
}
于 2013-02-01T04:30:07.950 に答える