Solved

form submission on 'enter'

Posted on 1998-08-16
15
213 Views
Last Modified: 2010-04-09
Heya..

I want the "Enter" key to submit the form.  Instead of clicking on the submit button, i want enter to do this.

must work with both IE and netscape.
0
Comment
Question by:Q010797
[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
  • 6
  • 4
  • 2
  • +3
15 Comments
 
LVL 12

Expert Comment

by:Otta
ID: 1836723
Using "Enter" inside a <TEXTAREA> element
forces a "new-line", rather than doing a "submit".
So, do not use <TEXTAREA> in your <FORM>.
Otherwise, "Enter" works fine to "submit".
Example: http://www.altavista.digital.com
0
 
LVL 1

Author Comment

by:Q010797
ID: 1836724
There are no <textarea> tags in the html.
This is the form I want to get working.  Have others too which I am hopeing the same code will fix.

<form name="usage">
<tr><td>Username:</td><td><input type="text" name="username" size="9" maxlength="8"></td></tr>
<tr><td>Password:</td><td><input type="password" name="password" size="9" maxlength="8"></td></tr>
<tr>
<td><center><input type="button" value="Display time used" onClick="displayLocation();"></center></td>
<td><center><input type="reset" value="Clear Information"></center></td>
<tr><td colspan="2"><br><br><br><br><br></td></tr>
</tr>
</form>
0
 
LVL 12

Expert Comment

by:Otta
ID: 1836725
The 'altavista' page works fine,
but the "trick" is that there is only one (not two)
<INPUT TYPE="text"> fields,
and there is only one <INPUT TYPE="submit"> fields.

This code works:

<html><head><title>Extracted from AltaVista</title></head><body>
<FORM name=mfrm method=GET action="/cgi-bin/query">
<INPUT NAME=Q size=50 maxlength=80 VALUE="default">
<INPUT TYPE="submit" VALUE="Submit"><br>
</FORM>
</BODY></HTML>
0
Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

 

Expert Comment

by:th_c_man
ID: 1836726
Doesn't pressing enter work anyway?

It always does for me.

i use NN4, NN3, or MSIE3
0
 
LVL 1

Author Comment

by:Q010797
ID: 1836727
so you're telling me it's impossible?  won't work?
0
 
LVL 2

Accepted Solution

by:
SirCaleb earned 50 total points
ID: 1836728
You need to use the onchange command..
Put this in your <head>:

<script language="Javascript">
<!--
function sendit() {
document.formname.submit(document.formname);
return true;
}
//-->
</script>

Put this in your body:

<FORM NAME="FORMNAME" METHOD="POST" ACTION="/YOUR/PATH.PL">
<INPUT TYPE="TEXT" SIZE=25 VALUE="" onchange="sendit()">
</FORM>

You may have to "tweak" this a little but it should work....
0
 
LVL 12

Expert Comment

by:Otta
ID: 1836729
This code works:
This code works:

<html>
 <head>
    <title>Extracted from AltaVista</title>
 </head>
 <BODY>
  <FORM name=myform method=GET action="/cgi-bin/query">
    <INPUT NAME=Q size=50 maxlength=80 VALUE="default">
    <INPUT TYPE="submit" VALUE="Submit">
  </FORM>
 </BODY>
</HTML>

Try it!
0
 
LVL 2

Expert Comment

by:SirCaleb
ID: 1836730
otta, that will not work in Netscape 3.0
0
 
LVL 12

Expert Comment

by:Otta
ID: 1836731
SirCaleb wrote:
> that will not work in Netscape 3.0

It works correctly, in Netscape 2.02 for OS/2.

Maybe, the "correct" answer to Q's question
is "it cannot be done".
0
 
LVL 2

Expert Comment

by:SirCaleb
ID: 1836732
the answer that I posted works in ALL browsers...I know...I tested it!
0
 
LVL 12

Expert Comment

by:Otta
ID: 1836733
SirCaleb,
I tried your code in several web-browsers, and it didn't work.  
You overstate your claim when you say 'ALL'.
The "top 90%" maybe, but not "all",
since not "all" browsers support JavaScript.
0
 
LVL 2

Expert Comment

by:SirCaleb
ID: 1836734
why would anyone be using a browser without javascript?
That code works in Netscape 3.x and 4.x, Microsoft IE 3.x and 4.x
Those who are using a lower version browser than 3.x just need to get with the times....
0
 
LVL 4

Expert Comment

by:rafistern
ID: 1836735
I think your problem is that you are using <input type=button>. Use <input type=submit> and it will work.
0
 
LVL 3

Expert Comment

by:NullTerminator
ID: 1836736
The problem you are all missing is that it will work with a form with one edit control.  With more than one edit control it will not, its that simple.  With HTML 4 and the event bubbling model, you might be able to grab the enter key but I haven't fiddled with it because I need backward compatablitiy with Netscape.
0
 
LVL 12

Expert Comment

by:Otta
ID: 1836737
NullTerminator wrote:
> The problem you are  all  missing .., one edit control ...

I alluded to that point in my previous message:

> The 'altavista' page works fine,
> but the "trick" is that there is only one (not two)
>     <INPUT TYPE="text"> fields,
> and there is only one <INPUT TYPE="submit"> field.

0

Featured Post

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!

Question has a verified solution.

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

Is your Office 365 signature not working the way you want it to? Are signature updates taking up too much of your time? Let's run through the most common problems that an IT administrator can encounter when dealing with Office 365 email signatures.
Find out what you should include to make the best professional email signature for your organization.
In this Micro Tutorial viewers will learn how to create navigation buttons that change on rollover, using CSS (Continuation of the CSS Image Sprite tutorial) Create a parent ID for all the list items       - Specify position: absolute and display: blockā€¦
The viewer will learn the basics of jQuery, including how to invoke it on a web page. 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.: (CODE)

631 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