Solved

disabling the "enter" key in FORMs

Posted on 1998-05-27
8
134 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Adding a countdown to HTA 12 98
Change how page is organized 3 37
How do I add counter to html listbox using jquery 2 26
A responsive image gallery using flexbox 6 22
This is a PowerShell web interface I use to manage some task as a network administrator. Clicking an action button on the left frame will display a form in the middle frame to input some data in textboxes, process this data in PowerShell and display…
Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …
In this tutorial viewers will learn how to embed Flash content in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <object> tag to embed Flash content.: To specify that the object is Flash content, d…

733 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