我正在使用 jSignature 来允许以 html 形式签名(确切地说是 jQuery Mobile)。我希望能够在表单中提交签名的图像。
通过下面的代码,我已经完成了最初的几个步骤——这对我来说已经够难了。它成功创建了 DataURI (data:image/png;base64,iVBOR...),并在调用 placesig 函数时将其添加到隐藏字段 _fid_86 的值中。
我需要帮助:1)如何将 DataURI 转换为提交时可以包含在表单数据中的图像?2)如何将该图像连接到隐藏输入?相同的方法会起作用,还是需要文件输入。
我正在从 web 应用程序将此表单发布到 QuickBase。理想情况下,我希望能够在没有任何服务器端参与的情况下完成此操作,以便应用程序自给自足,而不依赖于 php 或其他托管脚本。
如果那不可能,我可以用 php 来做,但仍然不知道如何做到这一点。
我在这上面花了几天时间。而且我知道我缺乏编程知识是罪魁祸首。解决这个问题对我来说是巨大的。
谢谢!!
<body>
<script src="jquery-1.8.2.min.js"></script>
<script src="jquery.mobile-1.2.0.min.js"></script>
<script src="jSignature.js"></script>
</head>
<body>
<form name=qdbform method=POST onsubmit='return validateForm(this)' encoding='multipart/form-data'
encType='multipart/form-data' action=https://www.quickbase.com/db/...?act=API_AddRecord>
<script type="text/javascript">
var $sigDiv = null;
$(document).ready(
function()
{
$sigDiv = $("#signature1").jSignature({'UndoButton':false,color:"#000000",lineWidth:2});
}
);
function placesig()
{
var datapair = $sigDiv.jSignature("getData", "image");
var i = new Image();
i.src = "data:" + datapair[0] + "," + datapair[1];
var src = $(i).attr('src');
$("#_fid_86").val(src);
};
</script>
<div id="signature1"></div>
<input data-theme="a" type="button" value="Place Image" onclick="placesig();"/>
<input type="hidden" id="_fid_86" name="_fid_86" />
<input type="submit" value="Save">
</form>