.









Web Guidelines: MIT Libraries

Guidelines > Forms > Forms Checklist

Forms Checklist

When planning a form, feel free to ask Nicole (hennig@mit.edu) for advice on content before asking Marion (mlcar@mit.edu) to build the form.

Here are a few questions to ask yourself when creating a form:

  1. Is the audience library staff, MIT users, or outside users?
  2. Does it need to be restricted so that only MIT users can access it? (on or off-campus)
  3. What email address should the form results be sent to?
  4. Are there any fields that you wish to require (i.e. they can't submit the form without them)?
  5. Would you like to send users to a "thank-you" page after filling out the form?
  6. Would you like to send users a copy of their request via email?

Audience

library staff Use staff web space
public surveys
(anyone)

For surveys, contact the Director’s office, which is responsible for the Libraries' Zoomerang account. Either someone at that office [diroff-lib at mit.edu] or Lisa Horowitz [lisah at mit.edu] can give you the account's username and password.

There is an information list called zoomerang-lib for people who use zoomerang. The Director’s office sends messages to that group occasionally, and others use it to ask if someone is actually logged on or forgot to log off in the past, when the login is blocked.

public
(MIT only)

Use "mitonly" directory on public web (see Nicole hennig@mit.edu for permissions).

path: /afs/athena.mit.edu/dept/libraries/www/mitonly

Use "formstext" directory for the associated "txt" file.

path: /afs/athena.mit.edu/dept/libraries/www/formstext

 

Creating the form
Create your form using Dreamweaver See Fill-Out Forms Quick Guide from CWIS.
Make required fields We use javascript to make certain fields required. Please ask Nicole Hennig hennig@mit.edu or Darcy Duke darcy@mit.edu for help.
Form usability hints:

Reset button
Don't include a "reset" button in most cases. Too many times people click it by accident, erasing all their work filling out the form!

  Submit button
Put a descriptive name on your button, such as "send" or "send form".
  Check boxes
Use a different "name" for each box in a set, but the same "value" for each, such as "yes" or "XX". That way you can also see which items they didn't check on the output email message.
  Radio buttons
Use the same "name" for each button in a set, but different "values" for each. You must do this in order for the button to work properly and allow only one choice.
  Drop-down menus & scrolling lists
Make the first item say "--select one--", or "--choose a department--", or some such relevant statement. Make it the default selected item. That way if someone forgets to make a choice, the output won't be whatever your first choice was in the menu.

(Aero/Astro used to receive a lot of false requests before we changed this!)
 

Text boxes
When using a text area with multiple lines (where you expect users to type a few sentences), include this tag:

wrap="hard"

If you don't include this, sometimes the email output will result in one long line of text going off the edge of the page (wrap="physical" doesn't always work).

  Proofread name/value pairs
When finished making your form, be sure to take the extra step of proofreading each name and value. These are extremely important to the succes of your form output. The script behind the scenes needs to match these to your email output page (the "txt" file).

Form action

A sample path:

<FORM METHOD="POST" ACTION="http://web.mit.edu/bin/cgiemail/afs/athena.mit.edu/dept/libraries/www/formstext/standards.txt">

Everything after the path in red/bold is your specific path, the red/bold part needs to stay the same for "cgiemail" to work.

 

 

Creating the output file

Use "translateform" in Athena to create the initial file.

 

"Translateform" is a Perl script that converts an HTML file into a text template file formatted for use with cgiemail. You may need to add the "cwis" locker to enable the translateform command.

Example:

add cwis
translateform -p formname.html formname.txt

Example from our BookPage form (an MIT only form):

From: [email]
To: circsearch@mit.edu
Subject: BookPage
Errors-To: hennig@MIT.EDU

owning-library: [owning-library]
pickup-library: [pickup-library]

author: [author]
title: [title]
call-number: [call-number]
volume: [volume]
year: [year]

comments:
[comments]

name: [name]
email: [email]
phone: [phone]
Department: [Department]
status: [status]
-------
Date received:
Date shipped:
NOS:
Search status:

Output email usability hints:

From
Make sure your form asks for their email and then use it in the "from" field.

Some situations make use of a list created for the purpose of a form, in that case use the listname in the "from" field.

(Our ILB & RSC request forms do this).

  To
Here's where you enter the email of the person or group who should receive the form output.
 

CC
It's a nice idea to copy the output email to the person who sent it, so they can confirm that it went through. This is especially true if your form goes to a "thank-you" page after they submit it.

CC: [email]

 

Subject
Write a descriptive subject line so that you can recognize it in the context of all those zillions of email messages you receive.

If you are using Eudora, you may want to set up a filter for moving mail with a particular subject line into a different mail folder.

Eudora filters tutorial - Windows
Eudora filters tutorial - Mac

  Errors-to
It's a good idea to make the errors-to go to one person in your group so they can see which users didn't get their confirmation because they didn't enter a valid email address. Any invalid email address will bounce back to whoever is in the "errors-to" field.
 

Leaving spaces
Leaving spaces between groups of fields in the email makes it easier to read. It looks nice to put large text fields on the next line down from their field name.

Comments:
[comments]

 

Readable labels
You may change any of the labels to be more human-readable without affecting the functioning of the form or of the script. Only the values in brackets must match what's on the form.

Last name: [lname]

 

Extra text
You may add any extra text on the output email that will assist you in processing it. The free text below was typed at the end of the txt file in order to be used on printouts for staff to write on.

Example from BookPage email output:

Date received:
Date shipped:
NOS:
Search status:


Creating a "thank-you" page
A sample hidden input type:
  <INPUT TYPE="hidden" NAME="success" VALUE="http://libraries.mit.edu/formstext/thanks.html">

This will send the user to the URL above after they submit the form. It's a good idea to wait to add a thank you page to your form until you are sure everything is working correctly, since the form will give you an error report if it is not sent directly to a thank you page.
Sample thank-you pages

RSC: http://libraries.mit.edu/rsc/forms/thanks.html

Ask Us: http://libraries.mit.edu/formsthanks/ask-thanks.html

ILB: http://libraries.mit.edu/formsthanks/ilb-thanks.html

BookPage: http://libraries.mit.edu/formsthanks/bookpage-thanks.html


Final hints 
1. Test the form Put your own email address in the "To:" field of the txt file while you are testing it.
2. Make sure the values match:
  • what the HTML page displays
  • what the value is in the code
  • what the value is in the txt field
3. Make sure the email output looks like you want it to look Send it to a couple more people in the group who will be receiving it so they can comment.
4. Test required fields Try submitting the form with each of the required fields left blank.
5. Add thank-you page It's a good idea to wait to add a thank you page to your form until you are sure everything is working correctly, since the form will give you an error report if it is not sent directly to a thank you page.
6. Final step

Change the email "To:" back to who should receive the form output.

Send the form URL to the group you've created it for and tell them it's ready.