PRB JavaScript in ASP with Request.Form

PRB JavaScript in ASP with Request.Form

am 21.03.2007 19:34:00 von ATS

PRB JavaScript in ASP with Request.Form

Please help,

I'm having a problem with JavaScript in ASP, where the ASP page crashes when
I try to determine if data was posted from a FORM or through a QueryString.
Where, if the data came through via a FORM, I want to use it 1st, but if not,
to then try using it from the QueryString. Basically, the problem boils down
to using "toString()" on Request.Form("NAME") and Request.QueryString("NAME")
as such:


Post to this page as: TST.asp?STATE=TEST


<%@ Language=JavaScript %>
<%
Response.AddHeader("Pragma", "No-Cache");
%>
<%
var oThis = Request.Form("STATE");
var csResults;

if ((oThis == null) || (typeof(oThis) == "undefined"))
{
csResults = "NULL";
}
else
{
csResults = oThis.toString(); // ASP Crashes here. Why?!??!
}
%>

<%=csResults%>


That code crashes at the "toString()" call, which should not be. JavaScript
says all "Object" types have "toString" in them, but both
Request.Form("NAME") and Request.QueryString("NAME") do not seem to have them.

What can be done?

Re: PRB JavaScript in ASP with Request.Form

am 21.03.2007 19:49:45 von exjxw.hannivoort

=?Utf-8?B?QVRT?= wrote on 21 mrt 2007 in
microsoft.public.inetserver.asp.general:

> <%
> var oThis = Request.Form("STATE");
> var csResults;
>
> if ((oThis == null) || (typeof(oThis) == "undefined"))
> {
> csResults = "NULL";
> }
> else
> {
> csResults = oThis.toString(); // ASP Crashes here. Why?!??!
> }
> %>
>
> <%=csResults%>
>
>

The result of Request.Form() is always a string,
and if not existing can be represented by an empty string. So:

<%@ Language=JavaScript %>
<%
var csResults = Request.Form("state");
if (csResults == "") csResults = "NULL";
%>
<%=csResults%>

should meet your requirements, methinks.

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Re: PRB JavaScript in ASP with Request.Form

am 21.03.2007 20:53:46 von ATS

Thanks for the reply, but it is not working.

When I try this:

<%@ Language=JavaScript %>
<%
Response.AddHeader("Pragma", "No-Cache");
%>
<%
var csTST = " ==>" + Request.Form("STATE") + "<==";
%>

<%=csTST%>


I get this:

==>undefinded<==

Strangely, if I do this:

var csTST = Request.Form("STATE") ;
..
..
<%=csTST%>

I get a nice blank.

The issue is that the ASP/JavaScript is not returning a string for
Request.Form("STATE"). In fact, using "typeof(Request.Form("STATE"))" returns
"object". Is there any kind of CStr function available like in VB? By the
way, I do not want to switch to VBScript.

Re: PRB JavaScript in ASP with Request.Form

am 21.03.2007 21:39:43 von exjxw.hannivoort

=?Utf-8?B?QVRT?= wrote on 21 mrt 2007 in
microsoft.public.inetserver.asp.general:

> Thanks for the reply, but it is not working.
>
> When I try this:
>
> <%@ Language=JavaScript %>
> <%
> Response.AddHeader("Pragma", "No-Cache");
> %>
> <%
> var csTST = " ==>" + Request.Form("STATE") + "<==";
> %>
>
> <%=csTST%>
>
>
> I get this:
>
> ==>undefinded<==
>
> Strangely, if I do this:
>
> var csTST = Request.Form("STATE") ;
> .
> .
> <%=csTST%>
>
> I get a nice blank.
>

You are right, but please always quote on usenet, this is not email.

Try:

<%@ Language=JavaScript %>
<%
var csResults = Request.Form("state");
if (''+csResults == 'undefined') csResults = 'NULL';
if (csResults == '') csResults = 'EMPTY';
%>

<% = csResults %>

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Re: PRB JavaScript in ASP with Request.Form

am 22.03.2007 14:18:13 von ATS

Thanks Evertjan for helping, but I found the problem.

With Request.Form and Request.QueryString with JavaScript, one needs to use
".Item" to make it return the string or undefined/null object.

Example:

var csTST = Request.Form("STATE").Item;

Re: PRB JavaScript in ASP with Request.Form

am 22.03.2007 14:27:03 von exjxw.hannivoort

=?Utf-8?B?QVRT?= wrote on 22 mrt 2007 in
microsoft.public.inetserver.asp.general:

> Thanks Evertjan for helping, but I found the problem.
>
> With Request.Form and Request.QueryString with JavaScript, one needs
> to use ".Item" to make it return the string or undefined/null object.
>
> Example:
>
> var csTST = Request.Form("STATE").Item;
>
>

Well done!

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)