HTML Attribute for <INPUT ...>
VALUE

VALUE sets the value for the input field. VALUE sets the default values for text and password fields, sets the button text in submit, reset and plain buttons, sets the values of the choices in radio buttons, sets the permanent values of hidden fields, and has no effect on file, and image fields.

text and password fields
For these types of fields, VALUE sets the default value:

This Code Makes This
<FORM ACTION="/cgi-bin/mycgi.pl">
name: <INPUT TYPE=TEXT NAME="realname" VALUE="michael"><BR>
password: <INPUT TYPE=PASSWORD NAME="realname" VALUE="wong">
<P><INPUT TYPE=SUBMIT VALUE="submit">
</FORM>
name:
password:

(Form is not live)

It's a bad idea to send a default password, because the password can be obtained by looking at the HTML code.

radio buttons
use different values among several inputs with the same NAME to indicate different options:

This Code Makes This
<FORM ACTION="/cgi-bin/mycgi.pl">
<INPUT TYPE=RADIO NAME="color" VALUE="red">Red<BR>
<INPUT TYPE=RADIO NAME="color" VALUE="green">Green<BR>
<INPUT TYPE=RADIO NAME="color" VALUE="blue">Blue<BR>
<INPUT TYPE=RADIO NAME="color" VALUE="purple">Purple
<P><INPUT TYPE=SUBMIT VALUE="submit">
</FORM>
Red
Green
Blue
Purple

(Form is not live)

submit, reset, and plain buttons
The text in these types of buttons is set using VALUE.

This Code Makes This
<FORM ACTION="/cgi-bin/mycgi.pl">
<INPUT TYPE=BUTTON VALUE="My Plain Button"><P>
<INPUT TYPE=REset VALUE="My Reset Button"><P>
<INPUT TYPE=SUBMIT VALUE="My Submit Button">
</FORM>

(Form is not live)

If you can use the NAME attribute with submit buttons to make them act similar to radio buttons:

This Code Makes This
<FORM ACTION="/cgi-bin/mycgi.pl">
Go to the check-out page? <BR>
<INPUT TYPE=SUBMIT NAME="checkout" VALUE="YES"> 
<INPUT TYPE=SUBMIT NAME="checkout" VALUE="NO"> 
</FORM>
Go to the check-out page?
(Form is not live)

See RADIO for more details.

checkboxes
VALUE does not effect the checked state of checkboxes. If you want a checkbox to default to on, use CHECKED. Instead, VALUE sets the value that is sent to the server if the user checks that checkbox. For example, if you wanted the checkbox to send yessireebob you could set the checkbox like this:

This Code Makes This
<FORM ACTION="/cgi-bin/mycgi.pl">
<INPUT TYPE=CHECKBOX NAME="join" VALUE="yessireebob">
yes, sign me up!
<P><INPUT TYPE=SUBMIT VALUE="join">
</FORM>
yes, sign me up!

(Form is not live)

If the checkbox is not checked, no value of any kind is sent to the server. By default, checkboxes send on.

hidden fields
Hidden fields have no purpose unless they have a value (they also need a name).

This Code Makes This
<FORM ACTION="/cgi-bin/mycgi.pl">
<INPUT TYPE=HIDDEN NAME="threadID" VALUE="1295">
<P><INPUT TYPE=SUBMIT VALUE="submit">
</FORM>

(Form is not live)

<INPUT SIZE="..."> >