Enter key will not submit the form

Discussion in 'ASP General' started by M Smith, Dec 27, 2004.

  1. M Smith

    M Smith Guest

    I have a form I want to submit to itself. I want to be able to type in a
    list of numbers and submit the form and have that list show up on the same
    form under the text box I typed them into and the buttons. The problem is
    when I post a form to itself, the Enter key will not submit the form, it
    only clears the contents of the text box. The only way I can submit is to
    click the submit button. Here is a simplified version of my code that I had
    to comment out so you could see the source. Note the name of the page is
    Page1.asp

    '<%@ Language=VBScript %>
    '<HTML>
    '<HEAD>
    '</HEAD>
    '<BODY>
    '<p>Enter numbers separated by a comma.</p>
    '<form action="Page1.asp" method="POST" id=form1 name=form1>
    '<p><input type="text" name="ListID" size="50" maxlength="1000"></p>
    '<p><input type="submit" value="Submit" name="B1"><input type="reset"
    value="Reset" 'name="B2"></p>
    '</form>
    '<%if Request.Form("B1")="Submit" then
    ' lvListID=Request.Form("ListID")
    ' Response.Write lvListID
    'End IF '%>
    '</BODY>
    '</HTML>

    I know I've posted a page to itself before and had never had problems with
    the Enter key not submitting. What am I doing wrong?
    Thanks
    Mike
    M Smith, Dec 27, 2004
    #1
    1. Advertising

  2. It most likely is submitting just fine. You're just not using the correct
    criteria to determine if it was submitted. Try either evaluating your IF
    statement based on the contents of Request.Form("ListID") or
    Request.ServerVariables("REQUEST_METHOD"). To verify that your form is
    submitting, try using this code and pressing enter:

    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <p>Enter numbers separated by a comma.</p>
    <form action="page1.asp" method="POST" id=form1 name=form1>
    <p><input type="text" name="ListID" size="50" maxlength="1000"></p>
    <p><input type="submit" value="Submit" name="B1"><input type="reset"
    value="Reset" name="B2"></p>
    </form>
    <%

    For Each thing in Request.Form
    Response.Write thing & " = " & Request.Form(thing) & "<hr />"
    Next

    %>
    </BODY>
    </HTML>

    Ray at work

    "M Smith" <> wrote in message
    news:...
    > I have a form I want to submit to itself. I want to be able to type in a
    > list of numbers and submit the form and have that list show up on the same
    > form under the text box I typed them into and the buttons. The problem is
    > when I post a form to itself, the Enter key will not submit the form, it
    > only clears the contents of the text box. The only way I can submit is to
    > click the submit button. Here is a simplified version of my code that I

    had
    > to comment out so you could see the source. Note the name of the page is
    > Page1.asp
    >
    > '<%@ Language=VBScript %>
    > '<HTML>
    > '<HEAD>
    > '</HEAD>
    > '<BODY>
    > '<p>Enter numbers separated by a comma.</p>
    > '<form action="Page1.asp" method="POST" id=form1 name=form1>
    > '<p><input type="text" name="ListID" size="50" maxlength="1000"></p>
    > '<p><input type="submit" value="Submit" name="B1"><input type="reset"
    > value="Reset" 'name="B2"></p>
    > '</form>
    > '<%if Request.Form("B1")="Submit" then
    > ' lvListID=Request.Form("ListID")
    > ' Response.Write lvListID
    > 'End IF '%>
    > '</BODY>
    > '</HTML>
    >
    > I know I've posted a page to itself before and had never had problems with
    > the Enter key not submitting. What am I doing wrong?
    > Thanks
    > Mike
    >
    >
    Ray Costanzo [MVP], Dec 27, 2004
    #2
    1. Advertising

  3. M Smith

    Bob Lehmann Guest

    It's a bug in IE (imagine that). When there is only one text box, IE messes
    it up.

    I don't remember the work-around (funny that IE is now the browser to work
    around), but I think if you add a hidden field, or a text box with the
    visibilty hidden it will work.

    Bob Lehmann

    "M Smith" <> wrote in message
    news:...
    > I have a form I want to submit to itself. I want to be able to type in a
    > list of numbers and submit the form and have that list show up on the same
    > form under the text box I typed them into and the buttons. The problem is
    > when I post a form to itself, the Enter key will not submit the form, it
    > only clears the contents of the text box. The only way I can submit is to
    > click the submit button. Here is a simplified version of my code that I

    had
    > to comment out so you could see the source. Note the name of the page is
    > Page1.asp
    >
    > '<%@ Language=VBScript %>
    > '<HTML>
    > '<HEAD>
    > '</HEAD>
    > '<BODY>
    > '<p>Enter numbers separated by a comma.</p>
    > '<form action="Page1.asp" method="POST" id=form1 name=form1>
    > '<p><input type="text" name="ListID" size="50" maxlength="1000"></p>
    > '<p><input type="submit" value="Submit" name="B1"><input type="reset"
    > value="Reset" 'name="B2"></p>
    > '</form>
    > '<%if Request.Form("B1")="Submit" then
    > ' lvListID=Request.Form("ListID")
    > ' Response.Write lvListID
    > 'End IF '%>
    > '</BODY>
    > '</HTML>
    >
    > I know I've posted a page to itself before and had never had problems with
    > the Enter key not submitting. What am I doing wrong?
    > Thanks
    > Mike
    >
    >
    Bob Lehmann, Dec 28, 2004
    #3
  4. Worked fine for me using IE.

    Ray at work

    "Bob Lehmann" <> wrote in message
    news:%...
    > It's a bug in IE (imagine that). When there is only one text box, IE

    messes
    > it up.
    >
    > I don't remember the work-around (funny that IE is now the browser to work
    > around), but I think if you add a hidden field, or a text box with the
    > visibilty hidden it will work.
    >
    > Bob Lehmann
    Ray Costanzo [MVP], Dec 28, 2004
    #4
  5. M Smith wrote:
    > ...The problem is when I post a form to itself, the Enter key
    > will not submit the form, it only clears the contents of the
    > text box...
    >
    > <input type="text" name="ListID" size="50" maxlength="1000">
    > <input type="submit" value="Submit" name="B1">
    > <input type="reset" value="Reset" 'name="B2">


    It sounds as if the focus is on the RESET input. Does the behavior change if
    you convert the RESET to a button?

    <input type="button" value="Reset" onclick="this.form.reset()">



    --
    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. Please do not contact
    me directly or ask me to contact you directly for assistance. If your
    question is worth asking, it's worth posting.
    Dave Anderson, Dec 28, 2004
    #5
  6. Dave, try it with the code he posted, and you'll see what I'm talking about.

    Ray at work

    "Dave Anderson" <> wrote in message
    news:...
    > It sounds as if the focus is on the RESET input. Does the behavior change

    if
    > you convert the RESET to a button?
    >
    > <input type="button" value="Reset" onclick="this.form.reset()">
    >
    Ray Costanzo [MVP], Dec 28, 2004
    #6
  7. Ray Costanzo [MVP] wrote:
    > Dave, try it with the code he posted, and you'll see what I'm talking
    > about.


    Yeah, you're probably right, Ray.



    --
    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. Please do not contact
    me directly or ask me to contact you directly for assistance. If your
    question is worth asking, it's worth posting.
    Dave Anderson, Dec 28, 2004
    #7
  8. Maybe the problem is actually that his sound his muted and he's not
    hearing the Start Navigation sound. ;]

    Ray at work

    "Dave Anderson" <> wrote in message
    news:OqHR6$...
    > Ray Costanzo [MVP] wrote:
    > > Dave, try it with the code he posted, and you'll see what I'm

    talking
    > > about.

    >
    > Yeah, you're probably right, Ray.
    >
    >
    >
    > --
    > 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. Please do not

    contact
    > me directly or ask me to contact you directly for assistance. If

    your
    > question is worth asking, it's worth posting.
    >
    >
    Ray Costanzo [MVP], Dec 28, 2004
    #8
  9. M Smith

    Bob Lehmann Guest

    You're right. I was close though.

    The bug I was thinking about involved the submit button. When there is a
    single textbox, and the "Enter" key is used to submit the form, the onclick
    event of the submit button doesn't fire, nor is information about the button
    sent to the server.

    This discusses the problem in an ASP.Net context, but the same applies to
    ASP pages.....
    http://www.bbits.co.uk/blog/archive/2004/03/09/191.aspx

    Bob Lehmann

    "Ray Costanzo [MVP]" <my first name at lane 34 dot commercial> wrote in
    message news:...
    > Worked fine for me using IE.
    >
    > Ray at work
    >
    > "Bob Lehmann" <> wrote in message
    > news:%...
    > > It's a bug in IE (imagine that). When there is only one text box, IE

    > messes
    > > it up.
    > >
    > > I don't remember the work-around (funny that IE is now the browser to

    work
    > > around), but I think if you add a hidden field, or a text box with the
    > > visibilty hidden it will work.
    > >
    > > Bob Lehmann

    >
    >
    Bob Lehmann, Dec 28, 2004
    #9
  10. "Bob Lehmann" <> wrote in message
    news:%23Fksd%...
    > You're right. I was close though.
    >
    > The bug I was thinking about involved the submit button. When there

    is a
    > single textbox, and the "Enter" key is used to submit the form, the

    onclick
    > event of the submit button doesn't fire, nor is information about

    the button
    > sent to the server.


    Is that really a bug? I personally would only want an onclick event
    to fire on click.


    > This discusses the problem in an ASP.Net context, but the same

    applies to
    > ASP pages.....
    > http://www.bbits.co.uk/blog/archive/2004/03/09/191.aspx


    In my opinion, it's a bug in ASP.NET and it's attempt to make a
    client-server environment behave like it's not that.

    Ray at work
    Ray Costanzo [MVP], Dec 28, 2004
    #10
  11. M Smith

    Bob Lehmann Guest

    >> Is that really a bug?
    I'd be less inclined to think so if it wasn't for the fact that adding a
    second textbox causes the onclick to fire on the client, and button
    information (value) to be sent to the server when hitting "Enter".

    >> In my opinion, it's a bug in ASP.NET

    The same behavior in .asp and .htm pages.

    Bob Lehmann

    "Ray Costanzo [MVP]" <my first name at lane 34 dot commercial> wrote in
    message news:...
    >
    > "Bob Lehmann" <> wrote in message
    > news:%23Fksd%...
    > > You're right. I was close though.
    > >
    > > The bug I was thinking about involved the submit button. When there

    > is a
    > > single textbox, and the "Enter" key is used to submit the form, the

    > onclick
    > > event of the submit button doesn't fire, nor is information about

    > the button
    > > sent to the server.

    >
    > Is that really a bug? I personally would only want an onclick event
    > to fire on click.
    >
    >
    > > This discusses the problem in an ASP.Net context, but the same

    > applies to
    > > ASP pages.....
    > > http://www.bbits.co.uk/blog/archive/2004/03/09/191.aspx

    >
    > In my opinion, it's a bug in ASP.NET and it's attempt to make a
    > client-server environment behave like it's not that.
    >
    > Ray at work
    >
    >
    >
    Bob Lehmann, Dec 28, 2004
    #11
  12. M Smith

    Roland Hall Guest

    "M Smith" wrote in message news:...
    :I have a form I want to submit to itself. I want to be able to type in a
    : list of numbers and submit the form and have that list show up on the same
    : form under the text box I typed them into and the buttons. The problem is
    : when I post a form to itself, the Enter key will not submit the form, it
    : only clears the contents of the text box. The only way I can submit is to
    : click the submit button. Here is a simplified version of my code that I
    had
    : to comment out so you could see the source. Note the name of the page is
    : Page1.asp
    :
    : '<%@ Language=VBScript %>
    : '<HTML>
    : '<HEAD>
    : '</HEAD>
    : '<BODY>
    : '<p>Enter numbers separated by a comma.</p>
    : '<form action="Page1.asp" method="POST" id=form1 name=form1>
    : '<p><input type="text" name="ListID" size="50" maxlength="1000"></p>
    : '<p><input type="submit" value="Submit" name="B1"><input type="reset"
    : value="Reset" 'name="B2"></p>
    : '</form>
    : '<%if Request.Form("B1")="Submit" then
    : ' lvListID=Request.Form("ListID")
    : ' Response.Write lvListID
    : 'End IF '%>
    : '</BODY>
    : '</HTML>
    :
    : I know I've posted a page to itself before and had never had problems with
    : the Enter key not submitting. What am I doing wrong?
    : Thanks
    : Mike

    The problem is the Submit button doesn't post a value when you press ENTER
    from the text box. You're testing the value of the button and there isn't
    one. If you tab to the button and press ENTER, SPACE or you click on the
    submit button, then it posts the value of the button. It sounds like a bug
    to me or (cough) a "by design" change.

    I wouldn't test if a button had been pressed when submitting to a page if
    I'm looking for a value from a text box. I would just check to see if the
    value exists since it's posting to itself and it doesn't have a default
    value, clearly it is there only if it had been posted. Yes, it could have
    been posted from somewhere else but that is easy enough to test for also.

    Adding a hidden field as Bob suggested doesn't make it work either. I
    didn't check another text field with visibility: hidden or display: none.

    You can restrict the ENTER key from being used to submit the form with:
    <form action="Page1.asp" method="POST" id="form1" name="form1"
    onsubmit="return false">

    Then you can add onclick events to your buttons:
    <p><input id="b1" type="button" value="Submit"
    onclick="document.form1.submit()" />
    <input id="b2" type="button" value="Reset"
    onclick="document.form1.reset()" />
    </p>

    However, you're not going to get a value for the submit button. It appears
    your approach is what needs to be modified because B1 will always =
    "Submit", whether it gets submitted or not. What you need to test for is a
    value in ListID and if found, display it. But, you can even eliminate that
    test and just display it anyway since you have no presentable text with it.
    If it's empty, it will not display and if it has content, it will.

    Or, you can add a hidden field and set the value of the button, but I would
    only do this if I had multiple buttons and I wanted to know which one was
    pressed. If you only have the two, as you do currently, only the submit
    button can submit the form. That's not the best way to validate a form
    being posted upon entry.

    I remember my first problem with forms was MAPI mail submissions including
    the submit button. The way around it was to remove the name= from the
    submit button so it did not include it. Perhaps MSFT over simplified it
    now?! (O:=

    Hidden field and ENTER key restricted from posting from the text field:
    http://kiddanger.com/lab/msmith/page1.asp
    Source:
    http://kiddanger.com/lab/msmith/ss_page1.asp

    Only change is displaying the value if it exists:
    http://kiddanger.com/lab/msmith/page2.asp
    Source:
    http://kiddanger.com/lab/msmith/ss_page2.asp

    HTH...

    --
    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, Dec 28, 2004
    #12
  13. Roland Hall wrote:
    > The problem is the Submit button doesn't post a value when you press
    > ENTER from the text box.


    Unless (a) there are multiple TEXT inputs, or (b) the browser is not IE. It
    is only the single text input case with Internet Explorer that exhibits this
    behavior.


    --
    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. Please do not contact
    me directly or ask me to contact you directly for assistance. If your
    question is worth asking, it's worth posting.
    Dave Anderson, Dec 29, 2004
    #13
  14. M Smith

    Roland Hall Guest

    "Dave Anderson" wrote in message
    news:e8KAB$...
    : Roland Hall wrote:
    : > The problem is the Submit button doesn't post a value when you press
    : > ENTER from the text box.
    :
    : Unless (a) there are multiple TEXT inputs, or (b) the browser is not IE.
    It
    : is only the single text input case with Internet Explorer that exhibits
    this
    : behavior.

    Yes, I agree it is an IE issue. Did it sound like I was saying something
    different re: it being a bug?
    Roland Hall, Dec 29, 2004
    #14
  15. Roland Hall wrote:
    >> Unless (a) there are multiple TEXT inputs, or (b) the browser is not
    >> IE. It is only the single text input case with Internet Explorer
    >> that exhibits this behavior.

    >
    > Yes, I agree it is an IE issue. Did it sound like I was saying
    > something different re: it being a bug?


    You certainly did not suggest it was an Internet Explorer bug. I personally
    do not consider it a bug, since this is open to interpretation:

    17.13.2 Successful controls
    A successful control is "valid" for submission. Every successful
    control has its control name paired with its current value as part
    of the submitted form data set. A successful control must be
    defined within a FORM element and must have a control name.

    http://www.w3.org/TR/html401/interact/forms.html#h-17.13

    The above does not require that a submit button be considered successful --
    it merely sets a threshold for such consideration. MS obviously does not
    consider the button activated when [Enter] in pressed in the text input.

    Who can say why? Perhaps this goes back to the transition from ISINDEX to
    text inputs. Good question for the blogs, though.



    --
    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. Please do not contact
    me directly or ask me to contact you directly for assistance. If your
    question is worth asking, it's worth posting.
    Dave Anderson, Dec 29, 2004
    #15
  16. M Smith

    Bob Lehmann Guest

    It's weird, though, that it is considered activiated when there is more than
    one textbox in the form.

    Bob Lehmann

    "Dave Anderson" <> wrote in message
    news:%...
    > Roland Hall wrote:
    > >> Unless (a) there are multiple TEXT inputs, or (b) the browser is not
    > >> IE. It is only the single text input case with Internet Explorer
    > >> that exhibits this behavior.

    > >
    > > Yes, I agree it is an IE issue. Did it sound like I was saying
    > > something different re: it being a bug?

    >
    > You certainly did not suggest it was an Internet Explorer bug. I

    personally
    > do not consider it a bug, since this is open to interpretation:
    >
    > 17.13.2 Successful controls
    > A successful control is "valid" for submission. Every successful
    > control has its control name paired with its current value as part
    > of the submitted form data set. A successful control must be
    > defined within a FORM element and must have a control name.
    >
    > http://www.w3.org/TR/html401/interact/forms.html#h-17.13
    >
    > The above does not require that a submit button be considered

    successful --
    > it merely sets a threshold for such consideration. MS obviously does not
    > consider the button activated when [Enter] in pressed in the text input.
    >
    > Who can say why? Perhaps this goes back to the transition from ISINDEX to
    > text inputs. Good question for the blogs, though.
    >
    >
    >
    > --
    > 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. Please do not

    contact
    > me directly or ask me to contact you directly for assistance. If your
    > question is worth asking, it's worth posting.
    >
    >
    Bob Lehmann, Dec 29, 2004
    #16
    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. Andrea Williams

    Key press "Enter" does not submit the form

    Andrea Williams, May 24, 2004, in forum: ASP .Net
    Replies:
    1
    Views:
    7,407
    Steve C. Orr [MVP, MCSD]
    May 24, 2004
  2. Megha Vishwanath
    Replies:
    2
    Views:
    9,822
    tutorialsmaster
    Oct 2, 2009
  3. BrianDH

    Enter Key H*ll, control enter key submit button

    BrianDH, Jan 12, 2005, in forum: ASP .Net Web Controls
    Replies:
    3
    Views:
    388
    Anders Matthiessen
    Jan 12, 2005
  4. Guest
    Replies:
    2
    Views:
    1,578
    Guest
    Oct 25, 2004
  5. Megha Vishwanath
    Replies:
    3
    Views:
    700
    Megha Vishwanath
    Jul 20, 2004
Loading...

Share This Page