Solved

disabling the "enter" key in FORMs

Posted on 1998-05-27
8
131 Views
Last Modified: 2010-04-09
IE 4 automatically submits our FORMs when visitors hit the key -- even if the form is not filled out. We really don't want to make all the fields required fields with Java Script to counteract this peculiarity. We just want to disable the enter key from effecting the form submission. Is there an HTML attribute that will prevent the enter key from this action?

This problem does not seem to impact Netscape.
0
Comment
Question by:bheerman
  • 2
  • 2
  • 2
  • +2
8 Comments
 

Expert Comment

by:jamesbrown
ID: 1843963
No.  There is no way in HTML to enable/disable form buttons without using JavaScript or VBScript.  I am surprised that there is no impact on Netscape - an empty field is an empty field.
0
 

Author Comment

by:bheerman
ID: 1843964
Okay. Just let me clarify to make sure I understand. The user hits the enter key halfway through the form inadvertantly. They are not on the form button, they are in another field, like a radio button or a drop down. This submits the form in IE 4 (but not in Netscape). There is nothing that can be done short of requiring these fields with Java Script? I don't understand why the enter key would submit the form if the user is not in the form submit button field.
0
 
LVL 28

Expert Comment

by:sybe
ID: 1843965
You could add an onChange to each form-element, check what the last keypress was, and make nothing happen when it was return, and in every other case add the key typed to the form element.

I cannot check with MSIE4 right now, but i guess submission only happens when the visitor is filling out a textfield or textarea, is that right ?



0
 

Expert Comment

by:jamesbrown
ID: 1843966
Now I understand a little more, thanks for clarifying.  Yes, IE will submit the form when the user hits <ENTER> but only when the user is in a TYPE="text" field (or on the submit button).  As the other comments state, there is no way within HTML (via a tag) to disable this feature in IE4 other than with JavaScript.

BTW, Netscape (I believe) will do this as well _but_ only if the only field in the form is a text field.

JB
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 5

Expert Comment

by:Christian_Wenz
ID: 1843967
this is JavaScript, but may be worth a try:
a) declare a variable in the <HEAD> part of your page:
  var submitnow = false

b) add onSubmit="return submitnow" to the <FORM> tag

c) now add a onClick="submitnow=true" to your <INPUT TYPE="SUBMIT">

I have not tested this; it may be that you have to add this to your submit button tag:
onClick="submitnow=true; this.form.submit()" (I assume it's no mailto: form)

Tell me if you like it / if it works.
0
 

Author Comment

by:bheerman
ID: 1843968
Ok. Thanks all.

jamesbrown should get 50.
sybe, 10.
christian wenz, 10
0
 
LVL 5

Expert Comment

by:Christian_Wenz
ID: 1843969
the easiest way to achieve this: let jamesbrown answer this question, he will get 50 points after you rate him. Then, ask questions labeled "just for sybe" and "just for xx" and state there that these questions shall only be answered by the specific persons. Rate each of this questions 10 points.
0
 
LVL 8

Accepted Solution

by:
jhurst earned 50 total points
ID: 1843970
Make the form a sort of pseudo form.  What I mean by this is: leave the form alone except that you get rid of the action and replace it with an onSubmit=whatEver().  Now, when he submits this form you will get control in your whatEver() function.  You also place in the form a <input type=button value='submit' onClick=heDidIt()> tag.  

So now, the ENTER key will get you to the whatEver and the button will get you to heDidIt.  In heDidIt you copy all variables from the pseodo form to another, hidden form with the same fields, except that they are hidden, and then do a document.reallyDoIt.submit() where this is the second and real form.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
This article discusses four methods for overlaying images in a container on a web page
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now