Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

VBScript and CGI?

Posted on 1997-05-03
3
Medium Priority
?
583 Views
Last Modified: 2013-12-25
Here is a code fragment of a CGI script written in Visual Basic.
I'm trying to use HTML controls and embedded VBScript to combine the data
(integer) entered into a text box by the user with a choice (string) that
user has selected from a list box and place it into a second text box.
So far I've had no luck getting this to work.
The error message is:  Object required   "Accounts"
Perhaps a better question is: Can you use embedded VBS in a CGI script?


Send ("<INPUT TYPE= ""Text"" NAME=""Balance""  SIZE=""30"">")
Send ("<SELECT NAME=""Accounts"" SIZE=""8"">")
Send ("<INPUT TYPE= ""Text"" NAME=""Total"" SIZE=""45"">")

Send ("<INPUT TYPE=""Button"" NAME=""BTN"" VALUE=""Enter"">")

Send ("<Script Language=VBScript>")
Send ("Sub BTN_OnClick")
Send ("Total.Value =  Accounts.Value & Balance.Value")
Send ("End Sub")
Send ("</Script>")

Thanks
Tom
0
Comment
Question by:thomas73
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 5

Accepted Solution

by:
icd earned 200 total points
ID: 1827985
There really is no reason why any cgi generated HTML should behave any differently to pure HTML. (Although I do remember having some very subtle differences I don't think they will be affecting you).

The approach I would take when writing a CGI that generated HTML, especially where there is embedded script, is to first create a  'dummy' HTML file which has the required content. In your case this would be:-

<INPUT TYPE= "Text" NAME="Balance" SIZE="30">
<SELECT NAME="Accounts" SIZE="8">
<INPUT TYPE= "Text" NAME="Total" SIZE="45">

<INPUT TYPE="Button" NAME="BTN" VALUE="Enter">
<Script Language=VBScript>
  Sub BTN_OnClick
    Total.Value = Accounts.Value & Balance.Value
  End Sub
</Script>

Having tested this and getting it to work you can then look to 'cgi' it. In this way you don't end up testing everything together.

I suspect the problem will be found to not be the cgi but instead be the VBScript. In any case the problem will be easier to spot.

0
 

Author Comment

by:thomas73
ID: 1827986
Thank you for your response.
In my original posting. I did not make it clear that I had included the "Option Value" statements
in the <SELECT> tag. For example:
 <SELECT NAME="Accounts">
<OPTION VALUE="Individual Retirement Account">Individual Retirement Account
<OPTION VALUE="Qualified Retirement Plan">Qualified Retirement Plan
<OPTION VALUE="Individual">Individual
</SELECT>
I just wanted to clear this up and not have you waste your time considering a potential problem that did not exist.

I did as you suggested and removed the CGI 'SEND' statements from the HTML in order to isolate the problem. To narrow the possibilities further, I removed the reference to the "Accounts" Object (the List box) in the VBS Sub procedure, leaving the procedure to read; (Total.Value=Balance.Value). The code works properly in this fashion, transferring the value of the "Balance" text box to the "Total" text box.
Progress!
However, If the Sub procedure is written to include the "Accounts" Object and concatenate the values from the "Balance" text box and the "Accounts" List box; (Total.Value=Accounts.Value & Balance.Value), an error code results stating; "Object does not  support this property or method: "Accounts.Value".

This is were the problem seems to lie. Which attribute of the <SELECT> tag holds the users selection, NAME or VALUE? I have two books on VBScript and HTML that give me two different answers.
I guess you're the tie breaker.

Thanks
Tom

0
 
LVL 5

Expert Comment

by:icd
ID: 1827987
Ah. It becomes clear.

The SELECT object does not have a value. It does have a 'selectedIndex' however. In Javascript to get the value of a SELECT object you would use the following:-

Accounts.options[Accounts.options.selectedIndex].value

I don't have the details for VBScript but I expect it will be very similar (if not identical).

0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question