Skip to Content
CSS Cookbook
book

CSS Cookbook

by Christopher Schmitt
August 2004
Intermediate to advanced
272 pages
5h 17m
English
O'Reilly Media, Inc.
Content preview from CSS Cookbook

5.5. Setting Up a Submit-Once-Only Button

Problem

You want to keep people from clicking the Submit button more than once.

Solution

First create a class for keeping the button from being displayed:

.buttonSubmitHide {
 display: none;
}

Then use the following JavaScript programmed to switch styles by class selectors:

<script language="JavaScript" type="text/javascript">
function classChange(styleChange,item) {
 item.className = styleChange;
}
</script>

Now trigger the function by using an onsubmit event to remove the Submit button from the web document:

<h2>Order Confirmation</h2>
<form action="login.php" method="post"
 onsubmit="classChange('buttonSubmitHide',submit); 
return true">
 <div align="center">
  <p>Are you sure you want to purchase 12 cans of soda over the 
Web?</p>
  <label for="uname">Final Price:</label>
  <input type="text" name="uname" id="uname" value="$7.95" />
<br />
   (includes tax, s+h extra)<br />
  <input type="submit" name="submit" value="submit" 
class="buttonSubmit" />
 </div>
</form>

Discussion

The JavaScript function in the Solution triggers a change in which a style is applied to the element. You must use the form’s onsubmit event to execute the function so that the form’s action will still be executed. If the function were triggered with an onclick event on the Submit button, some browsers would execute only the class-changing function. Then, because the button is no longer visible, the user would not be able to trigger the form.

See Also

JavaScript and DHTML Cookbook (O’Reilly) ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

HTML5 Cookbook

HTML5 Cookbook

Christopher Schmitt, Kyle Simpson
CSS Master

CSS Master

Tiffany B Brown

Publisher Resources

ISBN: 0596005768Catalog PageErrata