How TO – Popup Form


Previous


Next

Learn how to create a popup form with CSS and JavaScript.

Click on the button at the bottom of this page to open the login form.

Note that the button and the form is fixed – they will always be positioned to the bottom of the browser window.

Login

     

How To Create a Popup Form

Step 1) Add HTML

Use a <form> element to process the input. You can learn more about this in our PHP tutorial.

Example

<!– A button to open the popup form –>
<button class=”open-button” onclick=”openForm()”>Open Form</button>

<!– The form –>
<div class=”form-popup” id=”myForm”>
  <form action=”/action_page.php” class=”form-container”>
    <h1>Login</h1>

    <label for=”email”><b>Email</b></label>
    <input type=”text” placeholder=”Enter Email” name=”email” required>

    <label for=”psw”><b>Password</b></label>
    <input type=”password” placeholder=”Enter Password” name=”psw” required>

    <button type=”submit” class=”btn”>Login</button>
    <button type=”button” class=”btn cancel” onclick=”closeForm()”>Close</button>
  </form>
</div>

Step 2) Add CSS:

Example

{box-sizing: border-box;}

/* Button used to open the contact form – fixed at the bottom of the page */
.open-button {
  background-color: #555;
  color: white;
  padding: 16px 20px;
  border: none;
  cursor: pointer;
  opacity: 0.8;
  position: fixed;
  bottom: 23px;
  right: 28px;
  width: 280px;
}

/* The popup form – hidden by default */
.form-popup {
  display: none;
  position: fixed;
  bottom: 0;
  right: 15px;
  border: 3px solid #f1f1f1;
  z-index: 9;
}

/* Add styles to the form container */
.form-container {
  max-width: 300px;
  padding: 10px;
  background-color: white;
}

/* Full-width input fields */
.form-container input[type=text], .form-container input[type=password] {
  width: 100%;
  padding: 15px;
  margin: 5px 0 22px 0;
  border: none;
  background: #f1f1f1;
}

/* When the inputs get focus, do something */
.form-container input[type=text]:focus, .form-container input[type=password]:focus {
  background-color: #ddd;
  outline: none;
}

/* Set a style for the submit/login button */
.form-container .btn {
  background-color: #04AA6D;
  color: white;
  padding: 16px 20px;
  border: none;
  cursor: pointer;
  width: 100%;
  margin-bottom:10px;
  opacity: 0.8;
}

/* Add a red background color to the cancel button */
.form-container .cancel {
  background-color: red;
}

/* Add some hover effects to buttons */
.form-container .btn:hover, .open-button:hover {
  opacity: 1;
}

Step 3) Add JavaScript:

Example

<!DOCTYPE html>
<html>
<head>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>
<style>
body {font-family: Arial, Helvetica, sans-serif;}
* {box-sizing: border-box;}

/* Button used to open the contact form – fixed at the bottom of the page */
.open-button {
background-color: #555;
color: white;
padding: 16px 20px;
border: none;
cursor: pointer;
opacity: 0.8;
position: fixed;
bottom: 23px;
right: 28px;
width: 280px;
}

/* The popup form – hidden by default */
.form-popup {
display: none;
position: fixed;
bottom: 0;
right: 15px;
border: 3px solid #f1f1f1;
z-index: 9;
}

/* Add styles to the form container */
.form-container {
max-width: 300px;
padding: 10px;
background-color: white;
}

/* Full-width input fields */
.form-container input[type=text], .form-container input[type=password] {
width: 100%;
padding: 15px;
margin: 5px 0 22px 0;
border: none;
background: #f1f1f1;
}

/* When the inputs get focus, do something */
.form-container input[type=text]:focus, .form-container input[type=password]:focus {
background-color: #ddd;
outline: none;
}

/* Set a style for the submit/login button */
.form-container .btn {
background-color: #04AA6D;
color: white;
padding: 16px 20px;
border: none;
cursor: pointer;
width: 100%;
margin-bottom:10px;
opacity: 0.8;
}

/* Add a red background color to the cancel button */
.form-container .cancel {
background-color: red;
}

/* Add some hover effects to buttons */
.form-container .btn:hover, .open-button:hover {
opacity: 1;
}
</style>
</head>
<body>

<h2>Popup Form</h2>
<p>Click on the button at the bottom of this page to open the login form.</p>
<p>Note that the button and the form is fixed – they will always be positioned to the bottom of the browser window.</p>

<button onclick=”openForm()”>Open Form</button>

<div id=”myForm”>
<form action=”/action_page.php”>
<h1>Login</h1>

<label for=”email”><b>Email</b></label>
<input type=”text” placeholder=”Enter Email” name=”email” required>

<label for=”psw”><b>Password</b></label>
<input type=”password” placeholder=”Enter Password” name=”psw” required>

<button type=”submit”>Login</button>
<button type=”button” onclick=”closeForm()”>Close</button>
</form>
</div>

<script>
function openForm() {
document.getElementById(“myForm”).style.display = “block”;
}

function closeForm() {
document.getElementById(“myForm”).style.display = “none”;
}
</script>

</body>
</html>


Previous


Next

Scroll to Top