Form not passing data ???

Discussion in 'ASP General' started by Noozer, Jul 22, 2005.

  1. Noozer

    Noozer Guest

    Below is some ASP, HTML and javascript. It is part of a page used to
    maintain a small database. This code did work at one time, but has since
    stopped. For some reason the data on my form is not being passed to the page
    specified in the Action property of the form. This is on a Windows 2000 Pro
    PC.

    I copied the code to another server (Windows XP Pro machine) and it DOES
    work as expected there.

    The first block is the data located near the middle of the body of my main
    page. Each "row" has an OnClick event that calls the function in the second
    block.

    The second block of code calls a javascript function in the page located on
    an IFrame on this page and then makes the IFrame visible.

    The third block is located in the IFrame page. It should list all the values
    passed from a form POSTed to this page. This comes up empty... All I see is
    Start -><- End.

    The fourth block is located in another ASP file situated in an IFrame on the
    main page. This IFrame is not visible until the javascript in the third
    block is executed by clicking a row located in the second block of code. It
    contains a hidden form used to pass data back to ASP code on this page.

    The final block is also located on the IFrame page. It loads values onto a
    hidden form within this page and then submits the form. This is where I'm
    having a problem... When this code is called, the Alert function shows the
    proper value for "key", and the SUBMIT occurs as expected, but the
    subEdit.asp page does not recieve any form value.

    Any idea why the Windows 2000 server is not working as expected? I've
    already tried restarting IIS and the properties on the virtual directory is
    identical on the two PC's.

    Thx!!!


    <span id="72" class="row" onmouseover="SelectAgent('72','Anne Agent')"
    onclick="editAgent('72');" >
    <span class="item" style="width: 10em;"><span class="data">Anne
    Agent</span></span>
    </span>
    <span id="69" class="row" onmouseover="SelectAgent('69','Al Over')"
    onclick="editAgent('69');">
    <span class="item" style="width: 10em;"><span class="data">Al
    Over</span></span>
    </span>



    // Edit an agent ------------------------------------------------
    function editAgent(key) {
    //Retrieve agent info and make IFRAME visible
    frames("EditFrame").getAgent(key);
    EditContainer.style.display="block";
    }



    <%'Located near the beginning of the subEdit.asp page.
    response.Write "START ->"
    for each name in Request.Form
    response.Write name & "<br />" & vbcrlf
    next
    response.Write "<- END"
    %>



    <script type="text/javascript" language="javascript">
    // Load agent key & activity onto form and
    submit ------------------------------------------------
    function getAgent(key) {
    alert(key);
    document.forms("actionForm").reset();
    document.forms("actionForm").Key.value = key;
    document.forms("actionForm").ToDo.value="Get";
    document.forms("actionForm").submit();
    }
    </script>



    <form name="actionForm" id="actionForm" method="POST" action="subEdit.asp"
    style="display: none;">
    <input type="text" name="Key" id="Key" value="">
    <input type="text" name="Name" id="Name" value="">
    <input type="text" name="ToDo" id="ToDo" value="">
    </form>
     
    Noozer, Jul 22, 2005
    #1
    1. Advertising

  2. Noozer

    Roland Hall Guest

    "Noozer" wrote in message news:cl1Ee.10988$s54.6574@pd7tw2no...
    : Below is some ASP, HTML and javascript. It is part of a page used to
    : maintain a small database. This code did work at one time, but has since
    : stopped. For some reason the data on my form is not being passed to the
    page
    : specified in the Action property of the form. This is on a Windows 2000
    Pro
    : PC.
    :
    : I copied the code to another server (Windows XP Pro machine) and it DOES
    : work as expected there.
    :
    : The first block is the data located near the middle of the body of my main
    : page. Each "row" has an OnClick event that calls the function in the
    second
    : block.
    :
    : The second block of code calls a javascript function in the page located
    on
    : an IFrame on this page and then makes the IFrame visible.
    :
    : The third block is located in the IFrame page. It should list all the
    values
    : passed from a form POSTed to this page. This comes up empty... All I see
    is
    : Start -><- End.
    :
    : The fourth block is located in another ASP file situated in an IFrame on
    the
    : main page. This IFrame is not visible until the javascript in the third
    : block is executed by clicking a row located in the second block of code.
    It
    : contains a hidden form used to pass data back to ASP code on this page.
    :
    : The final block is also located on the IFrame page. It loads values onto a
    : hidden form within this page and then submits the form. This is where I'm
    : having a problem... When this code is called, the Alert function shows the
    : proper value for "key", and the SUBMIT occurs as expected, but the
    : subEdit.asp page does not recieve any form value.
    :
    : Any idea why the Windows 2000 server is not working as expected? I've
    : already tried restarting IIS and the properties on the virtual directory
    is
    : identical on the two PC's.
    :
    : Thx!!!
    :
    :
    : <span id="72" class="row" onmouseover="SelectAgent('72','Anne Agent')"
    : onclick="editAgent('72');" >
    : <span class="item" style="width: 10em;"><span class="data">Anne
    : Agent</span></span>
    : </span>
    : <span id="69" class="row" onmouseover="SelectAgent('69','Al Over')"
    : onclick="editAgent('69');">
    : <span class="item" style="width: 10em;"><span class="data">Al
    : Over</span></span>
    : </span>
    :
    :
    :
    : // Edit an agent ------------------------------------------------
    : function editAgent(key) {
    : //Retrieve agent info and make IFRAME visible
    : frames("EditFrame").getAgent(key);
    : EditContainer.style.display="block";
    : }
    :
    :
    :
    : <%'Located near the beginning of the subEdit.asp page.
    : response.Write "START ->"
    : for each name in Request.Form
    : response.Write name & "<br />" & vbcrlf
    : next
    : response.Write "<- END"
    : %>
    :
    :
    :
    : <script type="text/javascript" language="javascript">
    : // Load agent key & activity onto form and
    : submit ------------------------------------------------
    : function getAgent(key) {
    : alert(key);
    : document.forms("actionForm").reset();
    : document.forms("actionForm").Key.value = key;
    : document.forms("actionForm").ToDo.value="Get";
    : document.forms("actionForm").submit();
    : }
    : </script>
    :
    :
    :
    : <form name="actionForm" id="actionForm" method="POST" action="subEdit.asp"
    : style="display: none;">
    : <input type="text" name="Key" id="Key" value="">
    : <input type="text" name="Name" id="Name" value="">
    : <input type="text" name="ToDo" id="ToDo" value="">
    : </form>

    Are you running antivirus with script blocking on the W2K system?

    --
    Roland Hall
    /* This information is distributed in the hope that it will be useful, but
    without any warranty; without even the implied warranty of merchantability
    or fitness for a particular purpose. */
    Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
    WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
    MSDN Library - http://msdn.microsoft.com/library/default.asp
     
    Roland Hall, Jul 22, 2005
    #2
    1. Advertising

  3. Noozer

    Noozer Guest

    "Roland Hall" <nobody@nowhere> wrote in message
    news:%...
    > "Noozer" wrote in message news:cl1Ee.10988$s54.6574@pd7tw2no...
    > : Below is some ASP, HTML and javascript. It is part of a page used to
    > : maintain a small database. This code did work at one time, but has since
    > : stopped. For some reason the data on my form is not being passed to the
    > page
    > : specified in the Action property of the form. This is on a Windows 2000
    > Pro
    > : PC.


    <snip>

    > Are you running antivirus with script blocking on the W2K system?


    Nope...Other pages on the server are working. There is even a form on the
    main form here that works as expected. Wouldn't script blocking stop the
    whole script? The ALERT command in the getAgent function does fire and this
    is where the script fills and submits the form.

    I ruled out a typo when I tried the same code on a new PC and it worked.

    The code DID work on the Windows 2000 server two weeks ago. Not sure when it
    stopped working properly.
     
    Noozer, Jul 22, 2005
    #3
  4. Noozer

    Noozer Guest

    "Noozer" <> wrote in message
    news:cl1Ee.10988$s54.6574@pd7tw2no...
    > Below is some ASP, HTML and javascript. It is part of a page used to
    > maintain a small database. This code did work at one time, but has since
    > stopped. For some reason the data on my form is not being passed to the

    page
    > specified in the Action property of the form. This is on a Windows 2000

    Pro
    > PC.
    >
    > I copied the code to another server (Windows XP Pro machine) and it DOES
    > work as expected there.


    I made the form visible and added a SUBMIT button and removed the submit
    method call in the javascript. Now I need to press the SUBMIT button to
    complete the process.

    The form is loaded up as I expected, but I click SUBMIT and the REQUEST.FORM
    object is STILL empty. This is the ONLY form on the site that is doing this,
    and only on this server.

    I tried copying files to a new folder and adding a new virtual directory,
    but no change.

    <*sigh*>
     
    Noozer, Jul 22, 2005
    #4
  5. What authentication is enabled for the entire website, the page generating
    this HTML, and the target POST page?

    It is possible for form data to be "missing" if the original page is
    authenticated but the target POST page is not authenticated due to an IE
    POST optimization (if IE is POST'ing to a website it thinks is
    authenticated, it will NOT send the Form data on the first POST because it
    thinks it will get rejected by 401 -- however, you fool IE by making the
    target POST page not require authentication -- thus, it results in a 200 but
    no form data sent). The optimization is reasonable in the case of
    high-latency authenticated requests -- suppose the post is for 100MB --
    should IE send 100MB on the first post, have it rejected by 401, then send
    100MB again with the right credentials the second time?

    If this is your problem, then the solution is to make your website uniform
    authenticated.

    --
    //David
    IIS
    http://blogs.msdn.com/David.Wang
    This posting is provided "AS IS" with no warranties, and confers no rights.
    //
    "Noozer" <> wrote in message
    news:cl1Ee.10988$s54.6574@pd7tw2no...
    Below is some ASP, HTML and javascript. It is part of a page used to
    maintain a small database. This code did work at one time, but has since
    stopped. For some reason the data on my form is not being passed to the page
    specified in the Action property of the form. This is on a Windows 2000 Pro
    PC.

    I copied the code to another server (Windows XP Pro machine) and it DOES
    work as expected there.

    The first block is the data located near the middle of the body of my main
    page. Each "row" has an OnClick event that calls the function in the second
    block.

    The second block of code calls a javascript function in the page located on
    an IFrame on this page and then makes the IFrame visible.

    The third block is located in the IFrame page. It should list all the values
    passed from a form POSTed to this page. This comes up empty... All I see is
    Start -><- End.

    The fourth block is located in another ASP file situated in an IFrame on the
    main page. This IFrame is not visible until the javascript in the third
    block is executed by clicking a row located in the second block of code. It
    contains a hidden form used to pass data back to ASP code on this page.

    The final block is also located on the IFrame page. It loads values onto a
    hidden form within this page and then submits the form. This is where I'm
    having a problem... When this code is called, the Alert function shows the
    proper value for "key", and the SUBMIT occurs as expected, but the
    subEdit.asp page does not recieve any form value.

    Any idea why the Windows 2000 server is not working as expected? I've
    already tried restarting IIS and the properties on the virtual directory is
    identical on the two PC's.

    Thx!!!


    <span id="72" class="row" onmouseover="SelectAgent('72','Anne Agent')"
    onclick="editAgent('72');" >
    <span class="item" style="width: 10em;"><span class="data">Anne
    Agent</span></span>
    </span>
    <span id="69" class="row" onmouseover="SelectAgent('69','Al Over')"
    onclick="editAgent('69');">
    <span class="item" style="width: 10em;"><span class="data">Al
    Over</span></span>
    </span>



    // Edit an agent ------------------------------------------------
    function editAgent(key) {
    //Retrieve agent info and make IFRAME visible
    frames("EditFrame").getAgent(key);
    EditContainer.style.display="block";
    }



    <%'Located near the beginning of the subEdit.asp page.
    response.Write "START ->"
    for each name in Request.Form
    response.Write name & "<br />" & vbcrlf
    next
    response.Write "<- END"
    %>



    <script type="text/javascript" language="javascript">
    // Load agent key & activity onto form and
    submit ------------------------------------------------
    function getAgent(key) {
    alert(key);
    document.forms("actionForm").reset();
    document.forms("actionForm").Key.value = key;
    document.forms("actionForm").ToDo.value="Get";
    document.forms("actionForm").submit();
    }
    </script>



    <form name="actionForm" id="actionForm" method="POST" action="subEdit.asp"
    style="display: none;">
    <input type="text" name="Key" id="Key" value="">
    <input type="text" name="Name" id="Name" value="">
    <input type="text" name="ToDo" id="ToDo" value="">
    </form>
     
    David Wang [Msft], Jul 22, 2005
    #5
  6. Noozer

    Roland Hall Guest

    "Noozer" wrote in message news:_M1Ee.11155$s54.1475@pd7tw2no...
    :
    : "Roland Hall" <nobody@nowhere> wrote in message
    : news:%...
    : > "Noozer" wrote in message news:cl1Ee.10988$s54.6574@pd7tw2no...
    : > : Below is some ASP, HTML and javascript. It is part of a page used to
    : > : maintain a small database. This code did work at one time, but has
    since
    : > : stopped. For some reason the data on my form is not being passed to
    the
    : > page
    : > : specified in the Action property of the form. This is on a Windows
    2000
    : > Pro
    : > : PC.
    :
    : <snip>
    :
    : > Are you running antivirus with script blocking on the W2K system?
    :
    : Nope...Other pages on the server are working. There is even a form on the
    : main form here that works as expected. Wouldn't script blocking stop the
    : whole script? The ALERT command in the getAgent function does fire and
    this
    : is where the script fills and submits the form.
    :
    : I ruled out a typo when I tried the same code on a new PC and it worked.
    :
    : The code DID work on the Windows 2000 server two weeks ago. Not sure when
    it
    : stopped working properly.

    I don't see anything that jumps out at me but you could try some things:

    1. Put this at the top of your inline code...

    dim r
    r = Request.ServerVariables("REQUEST_METHOD")
    Response.Write r

    This should return POST. If it is blank or returns GET, Request.Form will
    return nothing.


    2. I have never hidden a form with CSS. I do this:

    <form action="" method="post">
    <input type="hidden: name="var1" value="<%=var1%>" />
    </form>

    --
    Roland Hall
    /* This information is distributed in the hope that it will be useful, but
    without any warranty; without even the implied warranty of merchantability
    or fitness for a particular purpose. */
    Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
    WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
    MSDN Library - http://msdn.microsoft.com/library/default.asp
     
    Roland Hall, Jul 22, 2005
    #6
  7. Noozer

    Roland Hall Guest

    "David Wang [Msft]" wrote in message
    news:%...
    : What authentication is enabled for the entire website, the page generating
    : this HTML, and the target POST page?
    :
    : It is possible for form data to be "missing" if the original page is
    : authenticated but the target POST page is not authenticated due to an IE
    : POST optimization (if IE is POST'ing to a website it thinks is
    : authenticated, it will NOT send the Form data on the first POST because it
    : thinks it will get rejected by 401 -- however, you fool IE by making the
    : target POST page not require authentication -- thus, it results in a 200
    but
    : no form data sent). The optimization is reasonable in the case of
    : high-latency authenticated requests -- suppose the post is for 100MB --
    : should IE send 100MB on the first post, have it rejected by 401, then send
    : 100MB again with the right credentials the second time?
    :
    : If this is your problem, then the solution is to make your website uniform
    : authenticated.

    David has a good point. Is this on an intranet or internet server?

    --
    Roland Hall
    /* This information is distributed in the hope that it will be useful, but
    without any warranty; without even the implied warranty of merchantability
    or fitness for a particular purpose. */
    Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
    WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
    MSDN Library - http://msdn.microsoft.com/library/default.asp
     
    Roland Hall, Jul 22, 2005
    #7
  8. Noozer

    Noozer Guest

    "David Wang [Msft]" <> wrote in message
    news:%...
    > What authentication is enabled for the entire website, the page generating
    > this HTML, and the target POST page?
    >
    > It is possible for form data to be "missing" if the original page is
    > authenticated but the target POST page is not authenticated due to an IE
    > POST optimization (if IE is POST'ing to a website it thinks is
    > authenticated, it will NOT send the Form data on the first POST because it
    > thinks it will get rejected by 401 -- however, you fool IE by making the
    > target POST page not require authentication -- thus, it results in a 200

    but
    > no form data sent). The optimization is reasonable in the case of
    > high-latency authenticated requests -- suppose the post is for 100MB --
    > should IE send 100MB on the first post, have it rejected by 401, then send
    > 100MB again with the right credentials the second time?
    >
    > If this is your problem, then the solution is to make your website uniform
    > authenticated.


    Aha! This may be related...

    FWIW, this is for an intranet site. I need to authenticate users on this
    main page only. The rest of the site doesn't care who's browsing it.

    The whole site is configured to allow anonymous access, EXCEPT for the page
    in question. The page contained in the IFRAME is also set to allow anonymous
    access. The only page that requires authentication (Integrated Windows
    Authentication) is this main page that contains the IFRAME.

    If this is the case, must I make the entire site authenticate the same, or
    just these two pages?

    I'll check this out shortly.

    Thanks!!!
     
    Noozer, Jul 22, 2005
    #8
  9. Noozer

    Noozer Guest

    > : If this is your problem, then the solution is to make your website
    uniform
    > : authenticated.
    >
    > David has a good point. Is this on an intranet or internet server?


    Intranet... I'm using the Integrated Windows Authentication on ONLY the main
    page discussed here. The page contained in the IFRAME (and rest of the site)
    is configured for anonymous access.

    I'll have to adjust it, but unfortunately this will have to wait until
    later.

    Thanks guys!
     
    Noozer, Jul 22, 2005
    #9
  10. The page that is accepting the POST must be authenticated. Because IE
    already thinks the website is authenticated, that first POST will not have
    form data, so the page accepting the POST must NOT be anonymous or else it
    will get empty form data.

    --
    //David
    IIS
    http://blogs.msdn.com/David.Wang
    This posting is provided "AS IS" with no warranties, and confers no rights.
    //
    "Noozer" <> wrote in message
    news:es4Ee.12076$%K2.8886@pd7tw1no...

    "David Wang [Msft]" <> wrote in message
    news:%...
    > What authentication is enabled for the entire website, the page generating
    > this HTML, and the target POST page?
    >
    > It is possible for form data to be "missing" if the original page is
    > authenticated but the target POST page is not authenticated due to an IE
    > POST optimization (if IE is POST'ing to a website it thinks is
    > authenticated, it will NOT send the Form data on the first POST because it
    > thinks it will get rejected by 401 -- however, you fool IE by making the
    > target POST page not require authentication -- thus, it results in a 200

    but
    > no form data sent). The optimization is reasonable in the case of
    > high-latency authenticated requests -- suppose the post is for 100MB --
    > should IE send 100MB on the first post, have it rejected by 401, then send
    > 100MB again with the right credentials the second time?
    >
    > If this is your problem, then the solution is to make your website uniform
    > authenticated.


    Aha! This may be related...

    FWIW, this is for an intranet site. I need to authenticate users on this
    main page only. The rest of the site doesn't care who's browsing it.

    The whole site is configured to allow anonymous access, EXCEPT for the page
    in question. The page contained in the IFRAME is also set to allow anonymous
    access. The only page that requires authentication (Integrated Windows
    Authentication) is this main page that contains the IFRAME.

    If this is the case, must I make the entire site authenticate the same, or
    just these two pages?

    I'll check this out shortly.

    Thanks!!!
     
    David Wang [Msft], Jul 22, 2005
    #10
  11. Noozer

    Noozer Guest

    Thanks... This was the problem. I've got the whole site authenticating now
    and it works fine.

    "David Wang [Msft]" <> wrote in message
    news:...
    > The page that is accepting the POST must be authenticated. Because IE
    > already thinks the website is authenticated, that first POST will not have
    > form data, so the page accepting the POST must NOT be anonymous or else it
    > will get empty form data.
    >
    > --
    > //David
    > IIS
    > http://blogs.msdn.com/David.Wang
    > This posting is provided "AS IS" with no warranties, and confers no

    rights.
    > //
    > "Noozer" <> wrote in message
    > news:es4Ee.12076$%K2.8886@pd7tw1no...
    >
    > "David Wang [Msft]" <> wrote in message
    > news:%...
    > > What authentication is enabled for the entire website, the page

    generating
    > > this HTML, and the target POST page?
    > >
    > > It is possible for form data to be "missing" if the original page is
    > > authenticated but the target POST page is not authenticated due to an IE
    > > POST optimization (if IE is POST'ing to a website it thinks is
    > > authenticated, it will NOT send the Form data on the first POST because

    it
    > > thinks it will get rejected by 401 -- however, you fool IE by making the
    > > target POST page not require authentication -- thus, it results in a 200

    > but
    > > no form data sent). The optimization is reasonable in the case of
    > > high-latency authenticated requests -- suppose the post is for 100MB --
    > > should IE send 100MB on the first post, have it rejected by 401, then

    send
    > > 100MB again with the right credentials the second time?
    > >
    > > If this is your problem, then the solution is to make your website

    uniform
    > > authenticated.

    >
    > Aha! This may be related...
    >
    > FWIW, this is for an intranet site. I need to authenticate users on this
    > main page only. The rest of the site doesn't care who's browsing it.
    >
    > The whole site is configured to allow anonymous access, EXCEPT for the

    page
    > in question. The page contained in the IFRAME is also set to allow

    anonymous
    > access. The only page that requires authentication (Integrated Windows
    > Authentication) is this main page that contains the IFRAME.
    >
    > If this is the case, must I make the entire site authenticate the same, or
    > just these two pages?
    >
    > I'll check this out shortly.
    >
    > Thanks!!!
    >
    >
    >
    >
     
    Noozer, Jul 25, 2005
    #11
    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. Mart Rogers

    passing arguments from web-form to win-form

    Mart Rogers, Jul 8, 2003, in forum: ASP .Net
    Replies:
    3
    Views:
    593
    Natty Gur
    Jul 9, 2003
  2. Noozer

    Form not passing data?

    Noozer, Jul 22, 2005, in forum: HTML
    Replies:
    1
    Views:
    573
    Noozer
    Jul 22, 2005
  3. Replies:
    5
    Views:
    778
    Steve C. Orr [MCSD, MVP, CSM, ASP Insider]
    Jun 12, 2007
  4. MK
    Replies:
    2
    Views:
    458
    Sylvain Lafontaine
    Jan 29, 2006
  5. Kevin DeValck
    Replies:
    1
    Views:
    738
    7stud --
    May 17, 2011
Loading...

Share This Page