Problem separating request.form("value") from record ID

D

David

Hi,

I have an asp page which lists records.
Each record has an ID appended to it.
On the following edit page, I am trying to test against a certain
field value, if it is >0 then run the update, otherwise don't. The
problem is the data for testing is as follows:

Dim arrMetal
Dim iLoop
arrMetal=split(request.form("ID"), ", ")


For iLoop=0 to Ubound(arrMetal)

IF request.form("del_qty_" & arrMetal(iLoop)) > 0 THEN

Where del_qty is a number entered in the form, and arrMetal(iLoop) is
the records ID whilst in the loop on the edit page. When I try the
above if statement I get an error:

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: ""]'

If I response.write request.form("del_qty_" & arrMetal(iLoop)), then I
get just the qty value without the ID printing.
How can I re-write my if statement to test the qty value ??? I have
tried using SPLIT on "_" but still the same .
I tried just request.form("del_qty"), but this gives me nothing.

Appreciate your help. I know why the error is there, but i'm not sure
how to get around it ?

Thanks

David
 
D

Daniel Crichton

David wrote on Mon, 28 Jan 2008 09:37:14 -0800 (PST):
I have an asp page which lists records.
Each record has an ID appended to it.
On the following edit page, I am trying to test against a certain field
value, if it is >0 then run the update, otherwise don't. The problem is
the data for testing is as follows:
Dim arrMetal
Dim iLoop arrMetal=split(request.form("ID"), ", ")

What does request.form("ID") contain? Does every single record in your HTML
have an "ID" form field? If so, you can use the For Each statement instead,
but I can't provide example code without your HTML.
For iLoop=0 to Ubound(arrMetal)
IF request.form("del_qty_" & arrMetal(iLoop)) > 0 THEN
Where del_qty is a number entered in the form, and arrMetal(iLoop) is
the records ID whilst in the loop on the edit page. When I try the
above if statement I get an error:
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[string: ""]'

Which suggests that the form field doesn't exist, or is empty. You can't go
comparing a string to a number like that if the string can't be recast to a
numeric value.
If I response.write request.form("del_qty_" & arrMetal(iLoop)), then I
get just the qty value without the ID printing.

Why do you think the ID would be printed? You have nothing in that line
printing the ID value out.
How can I re-write my if statement to test the qty value ??? I have
tried using SPLIT on "_" but still the same .
I tried just request.form("del_qty"), but this gives me nothing.
Appreciate your help. I know why the error is there, but i'm not sure
how to get around it ?

At a guess there is a problem with the way the field names are generated in
the HTML itself, such that at some point in the looping there is no value
for the quantity.

If you can include a copy of the code that generates the rows in the HTML
I'll see if I can suggest a way to get what you need.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,154
Members
46,702
Latest member
LukasConde

Latest Threads

Top