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

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

am 28.01.2008 18:37:14 von davidgordon

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

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

am 29.01.2008 15:45:20 von Daniel Crichton

David wrote on Mon, 28 Jan 2008 09:37:14 -0800 (PST):

> 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"), ", ")

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.

--
Dan