如何通过javascript访问Topaz Signature Pad ActiveX对象?
我们正在使用签名板设备在文件上记录电子签名 以下是公司提供的javascript使用演示: 基于Javascript的HTML互联网签名演示 签名板通过如何通过javascript访问Topaz Signature Pad ActiveX对象?,javascript,activex,electronic-signature,topaz-signatures,Javascript,Activex,Electronic Signature,Topaz Signatures,我们正在使用签名板设备在文件上记录电子签名 以下是公司提供的javascript使用演示: 基于Javascript的HTML互联网签名演示 签名板通过元素添加到页面中 <OBJECT classid=clsid:69A40DA3-4D42-11D0-86B0-0000C025864A height=75 id=SigPlus1 name=SigPlus1 style="HEIGHT: 90px; WIDTH: 300px; LEFT: 0px; TO
元素添加到页面中
<OBJECT classid=clsid:69A40DA3-4D42-11D0-86B0-0000C025864A height=75
id=SigPlus1 name=SigPlus1
style="HEIGHT: 90px; WIDTH: 300px; LEFT: 0px; TOP: 0px; border: 1px solid #000; margin-top:10px; " VIEWASTEXT>
<PARAM NAME="_Version" VALUE="131095">
<PARAM NAME="_ExtentX" VALUE="4842">
<PARAM NAME="_ExtentY" VALUE="1323">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
这些都没有给出所需的实际对象
谢谢 我能够通过使用
document.getElementById(id)获得实际对象代码>
所以这个代码最终起作用了:
var vSig = document.getElementById('SigPlus1');
我希望这可以避免其他人去寻找这个答案 我忽略了OnSign()的“script”函数,并将按钮中的onclick=“OnSign()”替换为:
<INPUT id="SignBtn" name="SignBtn" type="button" value="Sign" onclick="javascript:SigPlus1.TabletState = 1;">
(也就是说,我只是从该部分获取javascript代码,并直接将其用作函数
我想我的问题与您的答案有关,一旦变量vSig由getElementbyId设置,我该如何处理它?因为我更愿意将代码保留在脚本部分中
谢谢初始化vSig后,您可以调用相关函数并访问签名的属性。例如,单击“保存签名”按钮应触发如下内容:
function OnSaveSignature() {
var vSig = document.getElementById('SigPlus1');
if(vSig.NumberOfTabletPoints == 0){ // No signature data (Did not sign yet)
alert("No Signature Found!");
} else {
vSig.TabletState = 0; // Turn off sig tablet
vSig.SigCompressionMode = 1; // Set compression mode
mySaveSigFunction(vSig.SigString); // Save sig data
} // Done!
}
你好,Roberjo,我试着运行你的代码,但在我的例子中,SigData是未定义的。当我单击“签名”按钮时,对象标记中没有出现签名。我尝试在我的DemoOCX.exe中测试我的电子签名是否有效,但效果很好。我哪里出错了?谢谢。我建议打开一个新问题,并确保包含你的代码rel关于Sig焊盘是如何初始化的,谢谢!
<INPUT id="SignBtn" name="SignBtn" type="button" value="Sign" onclick="javascript:SigPlus1.TabletState = 1;">
function OnSaveSignature() {
var vSig = document.getElementById('SigPlus1');
if(vSig.NumberOfTabletPoints == 0){ // No signature data (Did not sign yet)
alert("No Signature Found!");
} else {
vSig.TabletState = 0; // Turn off sig tablet
vSig.SigCompressionMode = 1; // Set compression mode
mySaveSigFunction(vSig.SigString); // Save sig data
} // Done!
}