jSignature скопируйте svg информацию в текстовое поле - PullRequest
0 голосов
/ 06 октября 2018

У меня работает этот скрипт , пользователь может поставить свою подпись.Но мне не удается скопировать сгенерированную информацию 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 в signature_svg, чтобы я мог отправить форму с этой информацией?

1 Ответ

0 голосов
/ 07 октября 2018

Решение перемещает часть кода в событие 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>
...