Solved

disabling the "enter" key in FORMs

Posted on 1998-05-27
8
132 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
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 

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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
How to Left-Align Navigation bar? 4 26
maps stopped work unsure why 7 33
paypal ipn url 5 53
how can I add blockquote after on my wordpress site 3 5
Someone recently asked me about how to display a progress indicator on a page while an iframe is loading. And I remember when I first came across this myself. It was a bit tricky to get my head around, but really, it's very simple. The most impor…
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
In this tutorial viewers will learn how to style transparent/translucent elements using alpha transparency in CSS Start with a normal styled element, such as a div.: Define its "background-color" property as "rgba (255, 255, 255, .5): The numbers in…
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…

808 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