2009-09-08 20 views
0

ActiveXコントロールIntegriSign1から次のコードのように値を取得するvbscript関数があります。ASP.netボタンでVBスクリプトを使用してASP.Netテキストボックスにデータを入力する

以下のコードに示すように、asp.netページにASP.net TexboxとASP.netボタンがあります。私はSignData値とtxtIntegri1を読み込むことができますどのように私のGetSignData()関数から

おかげ

<script type="text/vbscript" > 
    sub GetSignData() 
     SignData=window.document.IntegriSign1.GetSignData() 
     'window.document.frmIntegriSign.txthashdata.value 
     set t1=window.document.getElementById("<%=txtIntegri1.clientID%>") 
     If tl<> null Then 
      t1.value=SignData 
     else 
      msgbox signData 
     End If 
    end sub 
</script> 
<asp:TextBox ID="txtIntegri1" runat="server" ></asp:TextBox> 
<input type="button" id="btnAccept" name="btnAccept" runat="server" value="Accept " onclick="GetSignData();" /> 

私はあなたがでテキストボックスのIDを参照することができ、エラーオブジェクト必須txtIntegri

答えて

0

を取得していますVBScriptを次のように変更してください:

<script type="text/vbscript" > 
    sub GetSignData() 
     ' assign SignData 
     ' SignData=window.document.IntegriSign1.GetSignData() 

     set txtIntegri = document.getElementById("<%= txtIntegri1.ClientID %>") 
     txtIntegri.value = SignData 
    end sub 
</script> 

これを変数に代入してテキストボックスを参照し、目的の値を割り当てます。

編集: Joelが述べたように、あなたのテキストボックスの現在の可視性は、そのテキストへのアクセスを防ぎます。上記の作業をするには、テキストボックスを表示する必要があります。


ここに私の実例があります。 1つの違いは、私がセミコロンを削除しなければならなかったonClickイベントです ";"それを引き金にする。新しいプロジェクトを開始してこれをドロップすると、上部の "<%@ Page ..."宣言が除外され、更新されるテキストボックスが表示されるはずです。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script type="text/vbscript"> 
     sub GetSignData() 
      signData = "Hello, StackOverflow!" 
      set myTextbox = document.getElementById("<%= Textbox1.ClientID %>") 
      myTextbox.value = signData 
     end sub 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="Textbox1" runat="server" Text="Hello, World!" /> 
     <input type="button" id="btnAccept" name="btnAccept" runat="server" value="Accept " onclick="GetSignData()" /> 
    </div> 
    </form> 
</body> 
</html> 
+0

こんにちは、私はエラーを取得しています window.document.hdIntegriSign1.clientID.value = SignData オブジェクトwidow.document.hdIntegriSign1プロパティまたはメソッド – acadia

+0

@acadiaをsuppoertしません:とあなたの質問を更新してくださいあなたの最新のコードを使用して、より良いお手伝いをいたします。私はtxtIntegri1テキストボックスを設定する方法を示すために投稿を更新しました。あなたが言及したエラーは、SignData値を取得する方法の一部であるようです。 –

+0

Ahmad Mageed、コードとエラーメッセージを更新しましたSignData値を正しく取得できましたが、テキストボックスの値を設定しようとするとオブジェクトが必要なエラーが発生しています。ありがとう – acadia

2

できません。あなたのテキストボックスのVisible="false"プロパティは、htmlには全くレンダリングされないことを意味します。ブラウザに関する限り、存在しません。

ただし、これを訂正する他のコードがあると仮定すると、.ClientIDプロパティを使用して、Ahmad Mageedが示唆するようにコントロールのIDを参照できます。私はこれを追加すると

+0

良いキャッチ:) ... 15文字 –