0

文書に電子署名を記録するために、 Topaz Systemsの署名パッド デバイスを使用しています。

これは、javascript を使用するための会社提供のデモです。

Javascript ベースの HTML Internet Signature デモのダウンロード

署名パッドは、<OBJECT />要素を介してページに追加されます。

 <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>

JavaScript でオブジェクトに対してアクションを実行するためのドキュメントは、VBScript を参照し、ID のみでオブジェクトを呼び出します。

<script language="javascript">  

    function OnClear() {
       SigPlus1.ClearTablet();
    }

    function OnCancel() {
       SigPlus1.TabletState = 0;
    }

</script>

このアプローチでは、関連するすべてのメソッドと属性を含む DOM 内の実際のオブジェクトを見つけることができないことがわかりました。これらの関数を呼び出すと、次のようになります。

SigPlus1 は未定義です

また

SigPlus1.ClearTablet() は関数ではありません

メソッドを呼び出してプロパティを設定するために、JavaScript関数で実際のオブジェクトを取得するにはどうすればよいですか?

プロトタイプと jQuery を使用して DOM 内のオブジェクトを選択しようとしました。

var vsig = $('SigPlus1');  // prototype
var vsig = $('#SigPlus1'); // jQuery
var vsig = document.form.SigPlus1; // document

実際に必要なオブジェクトを提供するものはありません。

ありがとう!

4

3 に答える 3

4

を使用して実際のオブジェクトを取得できましたdocument.getElementById(id);

したがって、このコードは機能しました:

var vSig = document.getElementById('SigPlus1');

これにより、他の誰かがこの回答を検索する必要がなくなることを願っています!

于 2012-04-20T13:55:32.487 に答える
1

OnSign() の「スクリプト」関数を無視し、ボタンの onclick="OnSign()" を次のように置き換えることで、なんとか機能させることができました。

<INPUT id="SignBtn" name="SignBtn" type="button" value="Sign" onclick="javascript:SigPlus1.TabletState = 1;">

(つまり、セクションから JavaScript コードを取り出し、関数としてではなく直接使用しました。

私の質問はあなたの答えに関連していると思います.getElementbyIdによって設定された変数vSigをどうしますか? スクリプト セクション内にコードを残したいので。

ありがとう

于 2013-03-06T17:09:13.523 に答える