page redirection

Discussion in 'ASP General' started by Paul, Jul 11, 2008.

  1. Paul

    Paul Guest

    Hi all,

    This will hopefully be a really simple question....

    I'm a newbie at web app development, and am teaching my self as I go. I have
    a page that requires a user to click a
    button which then pops up a message box asking the user to make a choice.
    Based on this choice, it will either redirect to another page or display a
    message. I can get it to display a message, but when it tries to redirect I
    get the error;

    "Error: Object doesn't support this property or method: 'document.redirect'"

    I have tried researching this error but cannot find a solution that works,
    can anyone help?

    The page code is as follows;

    <form>
    <INPUT TYPE="BUTTON" NAME="button_2" VALUE="Click Here!">

    <SCRIPT LANGUAGE="VBScript" >
    Sub button_2_onclick
    answer=MsgBox ("Call Sheet", vbYesNoCancel, "Click Yes to create a call
    sheet")
    If answer = "6" then
    document.write("answer = ")&answer
    Else If answer = "7" Then
    document.redirect="test2.html"
    Else if answer = "2" then
    exit sub
    End If
    End If
    End If
    End Sub
    </SCRIPT>

    </form>

    Many thanks in advance

    Paul
     
    Paul, Jul 11, 2008
    #1
    1. Advertising

  2. Paul

    Paul Guest

    Hi all,

    sorry to waste your time, I have resolved it myself!!

    Changed this line:-
    document.redirect="test2.html"
    To this:-
    document.location.href="test2.html"

    thanks again!

    "Paul" <> wrote in message
    news:D...
    > Hi all,
    >
    > This will hopefully be a really simple question....
    >
    > I'm a newbie at web app development, and am teaching my self as I go. I
    > have a page that requires a user to click a
    > button which then pops up a message box asking the user to make a choice.
    > Based on this choice, it will either redirect to another page or display a
    > message. I can get it to display a message, but when it tries to redirect
    > I get the error;
    >
    > "Error: Object doesn't support this property or method:
    > 'document.redirect'"
    >
    > I have tried researching this error but cannot find a solution that works,
    > can anyone help?
    >
    > The page code is as follows;
    >
    > <form>
    > <INPUT TYPE="BUTTON" NAME="button_2" VALUE="Click Here!">
    >
    > <SCRIPT LANGUAGE="VBScript" >
    > Sub button_2_onclick
    > answer=MsgBox ("Call Sheet", vbYesNoCancel, "Click Yes to create a call
    > sheet")
    > If answer = "6" then
    > document.write("answer = ")&answer
    > Else If answer = "7" Then
    > document.redirect="test2.html"
    > Else if answer = "2" then
    > exit sub
    > End If
    > End If
    > End If
    > End Sub
    > </SCRIPT>
    >
    > </form>
    >
    > Many thanks in advance
    >
    > Paul
    >
     
    Paul, Jul 11, 2008
    #2
    1. Advertising

  3. Paul

    Paul Guest

    Ok, after sayng i'm good, i find i'm not!!

    Heres the thing....

    I have page 1 which has a form on it. when a button is clicked, it passes
    the data from the form onto page 2. Thats easy (even for me!), but after
    page 2 loads, I need it to popup a message box asking the user to make a
    choice and redirect to another page based on the response. When the page
    redirects I need it to redirect using values already bought into the page
    but cannot pass the values into the script (if that makes sense) Heres how i
    have the code on page 2....

    <%@ LANGUAGE=VBScript %>
    <%Response.Buffer = True%>

    <%
    Dim var1, var2 and other connection vars

    Set objConnString = Server.CreateObject("ADODB.Connection")
    Set rs1 = Server.CreateObject("ADODB.Recordset")
    strDSN = "provider=sqloledb;Data Source=BARCA;Initial
    Catalog=JellyTracker;User Id=sa;Password=LpmMww2502;"
    objConnString.Open strDSN

    jtuser = request("user") --> this value is passed via the url string
    callres = request("callres") --> this value is collected from the previous
    pages form
    callnum = request("callnum")--> this value is passed via the url string
    closedby = request("closedby") --> this value is collected from the previous
    pages form
    closetype = request("closetype") --> this value is collected from the
    previous pages form
    %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <style type="text/css">
    </style></head>
    <body>
    <SCRIPT LANGUAGE="VBScript" >
    answer=MsgBox ("Call Sheet", vbYesNoCancel, "Click Yes to create a call
    sheet")
    If answer = "6" then
    document.redirect.href="page3.asp?callnum=<%=callnum%>&callres=<%=callres%>"
    Else If answer = "7" Then
    document.redirect.href="page1.asp?callnum=<%=callnum%>&callres=<%=callres%>"
    End If
    End If

    </SCRIPT>
    </body>
    </html>

    Within the <script> tags, i cannot get the variables <%=callnum%> or
    <%=callres%> (or anything else) to show their values, and am completely
    stumped, outside the tags, I can see and manipulate them any way I want.

    Am I being a bit of a plank here? Is there an easy way for me to do this?

    Any help would be appreciated.

    Thanks in advance

    Paul

    "Paul" <> wrote in message
    news:...
    > Hi all,
    >
    > sorry to waste your time, I have resolved it myself!!
    >
    > Changed this line:-
    > document.redirect="test2.html"
    > To this:-
    > document.location.href="test2.html"
    >
    > thanks again!
    >
    > "Paul" <> wrote in message
    > news:D...
    >> Hi all,
    >>
    >> This will hopefully be a really simple question....
    >>
    >> I'm a newbie at web app development, and am teaching my self as I go. I
    >> have a page that requires a user to click a
    >> button which then pops up a message box asking the user to make a choice.
    >> Based on this choice, it will either redirect to another page or display
    >> a message. I can get it to display a message, but when it tries to
    >> redirect I get the error;
    >>
    >> "Error: Object doesn't support this property or method:
    >> 'document.redirect'"
    >>
    >> I have tried researching this error but cannot find a solution that
    >> works, can anyone help?
    >>
    >> The page code is as follows;
    >>
    >> <form>
    >> <INPUT TYPE="BUTTON" NAME="button_2" VALUE="Click Here!">
    >>
    >> <SCRIPT LANGUAGE="VBScript" >
    >> Sub button_2_onclick
    >> answer=MsgBox ("Call Sheet", vbYesNoCancel, "Click Yes to create a call
    >> sheet")
    >> If answer = "6" then
    >> document.write("answer = ")&answer
    >> Else If answer = "7" Then
    >> document.redirect="test2.html"
    >> Else if answer = "2" then
    >> exit sub
    >> End If
    >> End If
    >> End If
    >> End Sub
    >> </SCRIPT>
    >>
    >> </form>
    >>
    >> Many thanks in advance
    >>
    >> Paul
    >>

    >
     
    Paul, Jul 11, 2008
    #3
  4. "Paul" <> wrote in message
    news:...
    > Ok, after sayng i'm good, i find i'm not!!
    >
    > Heres the thing....
    >
    > I have page 1 which has a form on it. when a button is clicked, it passes
    > the data from the form onto page 2. Thats easy (even for me!), but after
    > page 2 loads, I need it to popup a message box asking the user to make a
    > choice and redirect to another page based on the response. When the page
    > redirects I need it to redirect using values already bought into the page
    > but cannot pass the values into the script (if that makes sense) Heres how

    i
    > have the code on page 2....
    >
    > <%@ LANGUAGE=VBScript %>
    > <%Response.Buffer = True%>
    >
    > <%
    > Dim var1, var2 and other connection vars
    >
    > Set objConnString = Server.CreateObject("ADODB.Connection")
    > Set rs1 = Server.CreateObject("ADODB.Recordset")
    > strDSN = "provider=sqloledb;Data Source=BARCA;Initial
    > Catalog=JellyTracker;User Id=sa;Password=LpmMww2502;"


    I really hope that isn't the real password and its not a good idea to use
    the sa account for any of this work. Create a Logon on the SQL server
    specifically for this application. Store the connection string and other
    utility functions (such as OpenConnection) in an .asp file that your other
    files include.

    > objConnString.Open strDSN
    >
    > jtuser = request("user") --> this value is passed via the url string
    > callres = request("callres") --> this value is collected from the previous
    > pages form
    > callnum = request("callnum")--> this value is passed via the url string
    > closedby = request("closedby") --> this value is collected from the

    previous
    > pages form
    > closetype = request("closetype") --> this value is collected from the
    > previous pages form
    > %>
    >
    > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    > <html xmlns="http://www.w3.org/1999/xhtml">
    > <head>
    > <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    > <title></title>
    > <style type="text/css">
    > </style></head>
    > <body>
    > <SCRIPT LANGUAGE="VBScript" >
    > answer=MsgBox ("Call Sheet", vbYesNoCancel, "Click Yes to create a call
    > sheet")
    > If answer = "6" then
    >

    document.redirect.href="page3.asp?callnum=<%=callnum%>&callres=<%=callres%>"
    > Else If answer = "7" Then
    >

    document.redirect.href="page1.asp?callnum=<%=callnum%>&callres=<%=callres%>"
    > End If
    > End If
    >
    > </SCRIPT>
    > </body>
    > </html>
    >
    > Within the <script> tags, i cannot get the variables <%=callnum%> or
    > <%=callres%> (or anything else) to show their values, and am completely
    > stumped, outside the tags, I can see and manipulate them any way I want.
    >
    > Am I being a bit of a plank here? Is there an easy way for me to do this?
    >
    > Any help would be appreciated.
    >


    Are you sure your client are only every going to use IE? Since your just
    starting off would it not be better to ensure that your code is more
    compatible with other browsers. Personally I'd target IE and FF for
    intranet style apps.

    What happens when the users press No or Cancel? How do you inform the user
    what will happen if the press those buttons?

    Basically having dialogs pop-up as part of UIs nominal flow is poor design.
    Why not have a interceeding page that displays a confirmation of the
    previous forms field entries that then has 3 buttons "Create Call Sheet",
    "What ever 'No' would do", "Return to some starting point".

    Alternatively have the first page have two buttons "Create Call Sheet",
    "What ever no does". The destination page draws which ever form is
    appropriate where both forms have a "Get me out here" button.


    --
    Anthony Jones - MVP ASP/ASP.NET
     
    Anthony Jones, Jul 11, 2008
    #4
  5. Paul wrote:
    > Hi all,
    >
    > sorry to waste your time, I have resolved it myself!!
    >
    > Changed this line:-
    > document.redirect="test2.html"
    > To this:-
    > document.location.href="test2.html"


    You should use window.location instead of document.location.
    document.location is not part of any standard, while there is at least a
    working draft that describes window.location:
    http://www.w3.org/TR/Window/#location

    See also:

    "document.location was originally a read-only property, although Gecko
    browsers allow you to assign to it as well. For cross-browser safety,
    use window.location instead."

    http://developer.mozilla.org/en/docs/DOM:document.location

    In any case, you can see for yourself that .redirect is not a method of
    *any* DOM object:
    http://msdn.microsoft.com/en-us/library/ms533053(VS.85).aspx




    --
    Dave Anderson

    Unsolicited commercial email will be read at a cost of $500 per message. Use
    of this email address implies consent to these terms.
     
    Dave Anderson, Jul 11, 2008
    #5
  6. Paul

    Old Pedant Guest

    Works just fine for me.

    I have to guess/assume that you don't *REALLY* have any values in your
    Request collection.

    I created this simple page that I named "junk.asp":

    *********** file: junk.asp ************
    <%
    callnum = Request("callnum")
    %>
    <HTML><BODY>
    <SCRIPT LANGUAGE="VBScript" >
    answer = MsgBox ("Click YES to create a call sheet", vbYesNoCancel, "Call
    Sheet")
    Select Case answer
    Case 6 : page = "page3"
    Case 7 : page = "page1"
    Case Else : page = "invalidChoice"
    End Select
    location.href = page & ".asp?callnum=<%=callnum%>"
    </SCRIPT>
    </body>
    </html>
    **************** end of file **************

    Then I invoked the page using
    http://localhost/junk.asp?callnum=331188

    And, indeed, I got to any of the three pages ("page1.asp", "page2.asp" or
    "invalidChoice.asp" with the callnum parameter in place in the query string.
    As expected.

    So... Cockpit error on your part???

    Time for debug???

    <%
    callnum = request("callnum")
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <style type="text/css">
    </style></head>
    <body>
    DEBUG: Callnum from request was <%=callnum%><HR>

    <SCRIPT LANGUAGE="VBScript" >
    ....
    </SCRIPT>
    </body>
    </html>

    Put in DEBUG output of all those values you *THINK* you are getting from the
    Request. Maybe you aren't?
     
    Old Pedant, Jul 11, 2008
    #6
  7. Paul

    Paul Guest

    Well, thanks very much for all your responses.

    Err, no thats not my sa username and password, (well not anymore! Cant
    believe i left those in there!)

    I think I'll be heading down the line of creating additional pages to
    complete the task that I need.

    Thanks again

    Paul

    "Old Pedant" <> wrote in message
    news:...
    > Works just fine for me.
    >
    > I have to guess/assume that you don't *REALLY* have any values in your
    > Request collection.
    >
    > I created this simple page that I named "junk.asp":
    >
    > *********** file: junk.asp ************
    > <%
    > callnum = Request("callnum")
    > %>
    > <HTML><BODY>
    > <SCRIPT LANGUAGE="VBScript" >
    > answer = MsgBox ("Click YES to create a call sheet", vbYesNoCancel, "Call
    > Sheet")
    > Select Case answer
    > Case 6 : page = "page3"
    > Case 7 : page = "page1"
    > Case Else : page = "invalidChoice"
    > End Select
    > location.href = page & ".asp?callnum=<%=callnum%>"
    > </SCRIPT>
    > </body>
    > </html>
    > **************** end of file **************
    >
    > Then I invoked the page using
    > http://localhost/junk.asp?callnum=331188
    >
    > And, indeed, I got to any of the three pages ("page1.asp", "page2.asp" or
    > "invalidChoice.asp" with the callnum parameter in place in the query
    > string.
    > As expected.
    >
    > So... Cockpit error on your part???
    >
    > Time for debug???
    >
    > <%
    > callnum = request("callnum")
    > %>
    > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    > <html xmlns="http://www.w3.org/1999/xhtml">
    > <head>
    > <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    > <title></title>
    > <style type="text/css">
    > </style></head>
    > <body>
    > DEBUG: Callnum from request was <%=callnum%><HR>
    >
    > <SCRIPT LANGUAGE="VBScript" >
    > ...
    > </SCRIPT>
    > </body>
    > </html>
    >
    > Put in DEBUG output of all those values you *THINK* you are getting from
    > the
    > Request. Maybe you aren't?
     
    Paul, Jul 14, 2008
    #7
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Alex
    Replies:
    0
    Views:
    321
  2. Phoebe.
    Replies:
    1
    Views:
    359
    Rajiv R
    Feb 27, 2004
  3. Tim Marsden

    Page redirection history

    Tim Marsden, Jun 9, 2004, in forum: ASP .Net
    Replies:
    4
    Views:
    653
    Steven Cheng[MSFT]
    Jun 10, 2004
  4. Ryan Moore

    ASP.NET Page "Redirection"

    Ryan Moore, Oct 1, 2004, in forum: ASP .Net
    Replies:
    1
    Views:
    506
    Ryan Moore
    Oct 1, 2004
  5. Thomas Fujita
    Replies:
    1
    Views:
    306
    Kenny
    Oct 22, 2003
Loading...

Share This Page