HOWTO: Submitting Data from an ActiveX Control in a Form

ID: Q172064


The information in this article applies to:
  • Microsoft ActiveX SDK, version 1.0


SUMMARY

Beginning with Internet Exlorer 4.0, the default property of an ActiveX control in a form can be submitted with the form.

If the control does not have a default property or the HTML page is viewed in Internet Explorer 3.x (IE3), the contents of the ActiveX control in a form will not be included when the form is submitted. This article discusses how to submit the contents by using a hidden input field on the form.


MORE INFORMATION

In Internet Explorer 4.0 and later, the contents of an ActiveX control in a form can be submitted with the form. The NAME is the identifier of the object tag (that is, <OBJECT NAME=MyControl CLASSID=...>), and the VALUE is the value of the default property of the control (if it exists). However, if any of the following cases are true, the contents of the control will not be included in the submit string:


   The object did not instantiate
   The object does not have an identifier
   The object does not have a default property
   The default property cannot be coerced into a string 
For other controls, or for controls viewed in IE3, you can submit the value from an ActiveX control in a form to the server by using an <INPUT> tag whose type is "hidden." In response to the user selecting the "submit" button of the form, you can execute JavaScript code that will assign the value of the control to the hidden input field before it is sent to the server.

The following is a complete HTML example that demonstrates using the default property method with the Microsoft Forms 2.0 Textbox Control and the "hidden" input method with the Microsoft Calendar Control.

  <HTML>
   <BODY>
   <FORM NAME="MyForm" ACTION="http://server/scripts/GetInfo.asp"
       METHOD="post" onSubmit="MyFunc()">

   <OBJECT ID="TextBox1" NAME="TextBox1" WIDTH=300 HEIGHT=60
      CLASSID="CLSID: 8BD21D10-EC42-11CE-9E0D-00AA006002F3">
      <PARAM NAME="TextAlign" VALUE="2">
      <PARAM NAME="Text" VALUE="TextBox">

   </OBJECT>
   <BR>

   <OBJECT ID="Calendar1" WIDTH=288 HEIGHT=192
      CLASSID="CLSID:8E27C92B-1264-101C-8A2F-040224009C02"
DATA="DATA:application/x-
oleobject;BASE64,K8knjmQSHBCKLwQCJACcAgAACADEHQAA2BMAAM0HBQAMAA8AAIAAAAAAAA
Cg
ABAAAIAAAKAAAQABAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAC8AkRCAQAFQXJp
YWwBAAAAkAFEQgEABUFyaWFsAQAAALwCwNQBAAVBcmlhbAyg
   ">
   </OBJECT>
   <BR>
   USERNAME: <INPUT TYPE="text" NAME="Username" SIZE="20"><BR>
   PASSWORD: <INPUT TYPE="password" NAME="Password" SIZE="20"><BR>
   <INPUT TYPE="hidden" NAME="RichText">
   <INPUT TYPE="hidden" NAME="Cal">
   <INPUT TYPE="submit" VALUE="Submit">
   <INPUT TYPE="reset">
   <p>
   </FORM>

   <SCRIPT LANGUAGE="JavaScript">
   <!--
      function MyFunc()
      {
         MyForm.RichText.Value = MyForm.RichTextBox1.TextRTF;
         MyForm.Cal.Value = MyForm.Calendar1.Value
      }
   -->
   </SCRIPT>

   </BODY>
   </HTML> 

Using Active Server Pages on the server to receive this information would look like this:

   <%@ LANGUAGE="VBSCRIPT" %>
   <HTML>
   <BODY>
   The User Name is <%Response.Write Request.form("UserName")%><br>
   The Password is <%Response.Write Request.form("Password")%><br>
   The TextBox is <%Response.Write Request.form("RichText")%><br>
   The Calendar date is <%Response.Write Request.form("Cal")%><br>
   </BODY>
   </HTML> 

In Internet Explorer 3.0, the value of the TextBox1 and Calendar1 ActiveX Controls would not be submitted with the form, and thus would not appear in the output from the ASP page.

Additional query words:

Keywords : kbcode vbsEnvtIE
Version : WINDOWS:1.0
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: May 25, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.