0

我正在使用最新的 jSignature ( https://github.com/brinley/jSignature ),生成 base30 签名并将它们保存在 mysql 数据库中。这通常效果很好;但是,在这种情况下,用户输入了一个签名,它保存了,但签名不会呈现。相反,在开发工具中出现了一个非常难以描述的 javascript 错误。我在这里有一个jsfiddle:

https://jsfiddle.net/evilpluto/onh3z3k0/

要激活它,我只需像这样从隐藏的表单字段中拉出

$(".signature_form").height("170px").jSignature("reset").jSignature("importData", 'data:'+ $(".hiddenSigDataForm").val());

似乎生成的 base30 在某种程度上已损坏,但我不确定它为什么会生成 javascript 错误。在 jfiddle 我放了一个工作按钮(加载正常),然后是 base30 字符串,错误为“非工作”按钮。

有任何想法吗?

4

1 回答 1

0

呃,哎呀。问题不在于 jsignature 神奇地不能再渲染了。问题是我将值存储在 varchar(255) 中,并且 base30 值被截断到无法使用的程度。我的其他人工作,因为他们更小。

然后我发现mysql现在允许> 255 in varchars ...这是一个非常有教育意义的夜晚。

于 2018-01-26T05:14:09.347 回答