IIS ASP - PRB JavaScript in ASP with Request.Form

This is Interesting: Free IT Magazines  
Home > Archive > IIS ASP > March 2007 > PRB JavaScript in ASP with Request.Form





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author PRB JavaScript in ASP with Request.Form
ATS

2007-03-21, 7:20 pm

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?!??!
}
%>
<html>
<%=csResults%>
</html>

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?
Evertjan.

2007-03-21, 7:20 pm

=?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?!??!
> }
> %>
> <html>
> <%=csResults%>
> </html>
>


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)
ATS

2007-03-21, 7:20 pm

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") + "<==";
%>
<html>
<%=csTST%>
</html>

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.



Evertjan.

2007-03-21, 7:20 pm

=?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") + "<==";
> %>
> <html>
> <%=csTST%>
> </html>
>
> 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)
ATS

2007-03-22, 1:26 pm

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;

Evertjan.

2007-03-22, 1:26 pm

=?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)
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com