【发布时间】:2016-12-02 15:43:50
【问题描述】:
我需要在表单上添加一个签名字段,用于在 iPad 上签署文档。
我需要一个允许在同一个表单上输入多个签名的插件。
我发现这个 jQuery 插件“signfield”非常好用……
https://github.com/cchantep/jquery.signfield
但它有一个大问题!
在桌面版 firefox、safari 等上,效果很好。
在 iPad 上,它一次只允许您绘制一条线 - 如果您抬起手指然后尝试绘制另一条线,画布就会清空!
如果你的签名可以画成一条连续的线就好了,但那不太可能!
在桌面 safari 上它可以正常工作 - 你可以画很多线。但在移动 safari 上就存在这个问题。
问题出现在演示中,所以这是插件的问题,而不是我的实现问题。
救命!!
【问题讨论】:
-
我将 jSignature 库用于此类项目。看看这个。 willowsystems.github.io/jSignature/#/about
-
这个插件看起来不错,但是如何将它添加到表单中,以便它与表单一起提交数据?
-
我让它为许多表单工作,它适用于任何设备和浏览器。这取决于您的需求以及您希望如何存储签名等。我实际上将签名转换为 base64 字符串并将其存储在数据库中。然后在需要时将其转换回显示。我需要加密存储,而该任务不允许存储在文件系统中。您想在提交时对图像做什么。我编写了几个函数来与基础库一起获得我想要的一切,并覆盖它的一些默认行为以满足我的确切需求。
-
只需要提交base64字符串作为表单字段,连同表单的其余部分。
-
库有一个内置函数“getData”,它会给你你的base64字符串来保存。例如:return $("#signature").jSignature("getData", "image");
标签: javascript jquery ipad canvas safari