<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=HTML_form</id>
	<title>HTML form - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=HTML_form"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=HTML_form&amp;action=history"/>
	<updated>2026-05-06T00:45:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=HTML_form&amp;diff=2273210&amp;oldid=prev</id>
		<title>imported&gt;Bruce1ee: Undid revision 1297504363 by 151.236.178.237 (talk) - unconstructive</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=HTML_form&amp;diff=2273210&amp;oldid=prev"/>
		<updated>2025-06-26T23:59:13Z</updated>

		<summary type="html">&lt;p&gt;Undid revision &lt;a href=&quot;/wiki143/index.php?title=Special:Diff/1297504363&quot; title=&quot;Special:Diff/1297504363&quot;&gt;1297504363&lt;/a&gt; by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/151.236.178.237&quot; title=&quot;Special:Contributions/151.236.178.237&quot;&gt;151.236.178.237&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:151.236.178.237&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:151.236.178.237 (page does not exist)&quot;&gt;talk&lt;/a&gt;) - unconstructive&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Input fields on a Web page}}&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;webform&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;web form&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;HTML form&amp;#039;&amp;#039;&amp;#039; on a [[web page]] allows a user to enter data that is sent to a [[Server (computing)|server]] for processing. Forms can resemble [[form (document)|paper]] or [[database]] forms because web users fill out the forms using [[checkbox|checkboxes]], [[radio buttons]], or [[text fields]].  For example, forms can be used to enter [[shipping]] or [[credit card]] data to order a product, or can be used to retrieve search results from a [[search engine]].&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
[[File:Sample web form.png|thumb|393px|Sample form. The form is enclosed in an [[HTML table]] for visual layout.|alt=test]]&lt;br /&gt;
&lt;br /&gt;
Forms are enclosed in the [[HTML]] &amp;lt;code&amp;gt;&amp;amp;lt;form&amp;amp;gt;&amp;lt;/code&amp;gt; element. This HTML element specifies the [[communication endpoint]] the data entered into the form should be submitted to, and the [[HTTP request|method]] of submitting the data, &amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Elements===&lt;br /&gt;
Forms can be made up of standard [[graphical user interface]] elements:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;button&amp;amp;gt;&amp;lt;/code&amp;gt; — a button that can be tied to action such as submitting the form, resetting the form or executing a JavaScript function.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;input&amp;amp;gt;&amp;lt;/code&amp;gt; — a element for user input. The element varies by the value of its &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;textarea&amp;amp;gt;&amp;lt;/code&amp;gt; — much like the  &amp;lt;code&amp;gt;&amp;amp;lt;text&amp;amp;gt;&amp;lt;/code&amp;gt; input field except a  &amp;lt;code&amp;gt;&amp;amp;lt;textarea&amp;amp;gt;&amp;lt;/code&amp;gt; allows for multiple rows of data to be shown and entered&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;select&amp;amp;gt;&amp;lt;/code&amp;gt; — a [[drop-down list]] that displays a list of items a user can select from&lt;br /&gt;
&lt;br /&gt;
The input element can have the following types:&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; — a simple [[text box]] that allows input of a single line of text.&lt;br /&gt;
* &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; - a type of &amp;lt;code&amp;gt;&amp;amp;lt;text&amp;amp;gt;&amp;lt;/code&amp;gt; that requires a partially validated email address&lt;br /&gt;
* &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - a type of &amp;lt;code&amp;gt;&amp;amp;lt;text&amp;amp;gt;&amp;lt;/code&amp;gt; that requires a number&lt;br /&gt;
* &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; — similar to &amp;lt;code&amp;gt;&amp;amp;lt;text&amp;amp;gt;&amp;lt;/code&amp;gt;, it is used for security purposes, in which the characters typed in are invisible or replaced by symbols such as *&lt;br /&gt;
* &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt; — a telephone number&lt;br /&gt;
* &amp;lt;code&amp;gt;radio&amp;lt;/code&amp;gt; — a [[radio button]]&lt;br /&gt;
* &amp;lt;code&amp;gt;file&amp;lt;/code&amp;gt; — a [[file select]] control for uploading a file&lt;br /&gt;
* &amp;lt;code&amp;gt;reset&amp;lt;/code&amp;gt; — a [[reset button]] that, when activated, tells the browser to restore the values of the current form, to their initial values.&lt;br /&gt;
* &amp;lt;code&amp;gt;submit&amp;lt;/code&amp;gt; — a [[button (computing)|button]] that tells the browser to take action on the form (typically to send it to a server)&lt;br /&gt;
&lt;br /&gt;
The sample image on the right shows most of these elements:&lt;br /&gt;
* a text box asking for your name&lt;br /&gt;
* a pair of radio buttons asking you to choose between gender values&lt;br /&gt;
* a [[Drop-down list|select box]] giving you a list of eye colors to choose from&lt;br /&gt;
* a pair of check boxes to click on if they apply to you&lt;br /&gt;
* a text area to describe your athletic ability&lt;br /&gt;
* a submit button to send current form values to the server&lt;br /&gt;
&lt;br /&gt;
These basic elements provide the most common [[graphical user interface]] (GUI) elements, but not all. For example, there are no equivalents to a [[tree view]] or [[grid view]].&lt;br /&gt;
&lt;br /&gt;
A grid view, however, can be mimicked by using a standard HTML [[Table (HTML)|table]] with each cell containing a text input element. A tree view could also be mimicked through nested tables or, more [[HTML#Semantic HTML|semantically]] appropriately, nested [[HTML element#Lists|lists]]. In both cases, a [[server-side]] process is responsible for processing the information, while JavaScript handles the user-interaction. Implementations of these interface elements are available through [[JavaScript library|JavaScript libraries]] such as [[jQuery]].&lt;br /&gt;
&lt;br /&gt;
HTML 4 introduced the &amp;lt;code&amp;gt;&amp;amp;lt;label&amp;amp;gt;&amp;lt;/code&amp;gt; tag, which is intended to represent a caption in a user interface, and can be associated with a specific form control by specifying the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; [[HTML attribute|attribute]] of the control in the label tag&amp;#039;s &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; attribute.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  | url=http://www.w3.org/wiki/HTML/Elements/label | title=HTML/Elements/label | work=w3.org wiki&lt;br /&gt;
| date=19 May 2023 }}&amp;lt;/ref&amp;gt; This allows labels to stay with their elements when a window is resized and to allow more desktop-like functionality (e.g. clicking a radio button or checkbox&amp;#039;s label will activate the associated input element).&lt;br /&gt;
&lt;br /&gt;
HTML 5 introduces a number of input types that can be represented by other interface elements. Some are based upon text input fields and are intended to input and validate specific common data. These include &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; to enter email addresses, &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt; for telephone numbers, &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; for numeric values. There are additional attributes to specify required fields, fields that should have keyboard [[focus (computing)|focus]] when the web page containing the form is loaded, and placeholder text that is displayed within the field but is not user input (such as the &amp;#039;Search&amp;#039; text displayed in many search input fields before a search term is entered). These tasks used to be handled with [[JavaScript]], but had become so common that support for them was added to the standard. The &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; input type displays a calendar from which the user can select a date or date range.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  | url=http://msdn.microsoft.com/en-us/magazine/hh547102.aspx | title=Better Web Forms with HTML5 Forms | publisher=Microsoft | work=MSDN Magazine | date=November 2011 | access-date=2014-02-20&lt;br /&gt;
  | author=Satrom, Brandon&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  | url=http://www.w3.org/TR/html5/forms.html | title=Forms &amp;amp;ndash; HTML5 | publisher=W3C | work=w3.org | access-date=2014-02-20&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; And the &amp;lt;code&amp;gt;color&amp;lt;/code&amp;gt; input type can be represented as an input text simply checking the value entered is a correct [[hexadecimal]] representation of a color, according to the specification,&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  | url=http://www.w3.org/TR/html-markup/input.color.html | title=input type&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;color – color-well control | publisher=W3C | work=w3.org | access-date=2014-10-31&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; or a color picker widget (the latter being the solution used in most browsers which support this attribute).&lt;br /&gt;
&lt;br /&gt;
==Submission==&lt;br /&gt;
When data that has been entered into HTML forms is submitted, the names and values in the form elements are encoded and sent to the server in an [[HTTP]] request message using [[Hypertext Transfer Protocol#Request methods|GET]] or [[POST (HTTP)|POST]]. Historically, an [[email]] transport was also used.&amp;lt;ref&amp;gt;User-agent support for email based [[Hypertext Markup Language|HTML]] form submission, using a &amp;#039;mailto&amp;#039; [[Uniform Resource Locator|URL]] as the form action, was proposed in RFC 1867 section 5.6, during the HTML 3.2 era. Various web browsers implemented it by invoking a separate email program, using their own rudimentary [[Simple Mail Transfer Protocol|SMTP]] capabilities, or by becoming [[Internet suite]]s by implementing entire [[Email client]]s. Although sometimes unreliable, it was briefly popular as a simple way to transmit form data without involving a web server or [[Common Gateway Interface|CGI]] scripts.&amp;lt;/ref&amp;gt; The default [[MIME type|MIME type (internet media type)]], [[application/x-www-form-urlencoded]], is based on a very early version of the general URI [[percent-encoding]] rules, with a number of modifications such as [[newline]] normalization and replacing spaces with &amp;quot;&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;&amp;quot; instead of &amp;quot;&amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;&amp;quot;. Another possible encoding, Internet media type [[multipart/form-data]], is also available and is common for POST-based file submissions.&lt;br /&gt;
&lt;br /&gt;
==Use with programming languages==&lt;br /&gt;
Forms are usually combined with programs written in various [[programming language]] to allow [[Software developer|developer]]s to create dynamic [[web site]]s. The most popular languages include both client-side and/or server-side languages.&lt;br /&gt;
&lt;br /&gt;
Although any programming language can be used on the server to process a form&amp;#039;s data, the most commonly used languages are [[scripting languages]], which tend to have stronger [[string (programming)|string]] handling functionality than programming languages such as C, and also have automatic [[memory management]] which helps to prevent [[buffer overrun]] attacks.&lt;br /&gt;
&lt;br /&gt;
===Client-side===&lt;br /&gt;
The [[de facto standard|&amp;#039;&amp;#039;de facto&amp;#039;&amp;#039;]] [[client-side scripting]] language for web sites is [[JavaScript]].&lt;br /&gt;
Using JavaScript on the [[Document Object Model]] (DOM) leads to the method of [[Dynamic HTML]] that allows dynamic creation and modification of a web page within the browser.&lt;br /&gt;
&lt;br /&gt;
While client-side languages used in conjunction with forms are limited, they often can serve to do pre-[[Data validation|validation]] of the form data and/or to prepare the form data to send to a server-side program. This usage is being replaced, however, by [[HTML5]]&amp;#039;s new &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; field types and &amp;lt;code&amp;gt;required&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
===Server-side execution===&lt;br /&gt;
Server-side code can do a vast assortment of tasks to create dynamic web sites that, for technical or security reasons, client-side code cannot &amp;amp;mdash; from [[authentication|authenticating]] a [[login]], to retrieving and storing data in a [[database]], to [[spell checker|spell checking]], to sending [[e-mail]]. A significant advantage to server-side over client-side execution is the concentration of functionality onto the server rather than relying on different [[web browser]]s to implement various functions in consistent, [[Web standards|standardized]] ways. In addition, processing forms on a server often results in increased security if server-side execution is designed not to trust the data supplied by the client and includes such techniques as [[HTML sanitization]]. One disadvantage to server side code is [[scalability]]&amp;amp;mdash;server side processing for all users occurs on the server, while client side processing occurs on individual client computers.&lt;br /&gt;
&lt;br /&gt;
[[File:Zen-cart Web-Shop Frontend Registration Form.png|thumb|Registration form of PHP-based e-commerce web-shop software ZenCart]]&lt;br /&gt;
&lt;br /&gt;
===Interpreted languages===&lt;br /&gt;
Some of the [[interpreted language]]s commonly used to design interactive forms in web development are [[PHP]], [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], [[Perl]], [[JavaServer Pages|JSP]], [[Adobe ColdFusion]] and some of the compiled languages commonly used are [[Java (programming language)|Java]] and [[C Sharp (programming language)|C#]] with [[ASP.NET]].&lt;br /&gt;
&lt;br /&gt;
====PHP====&lt;br /&gt;
[[PHP]] is one very common language used for server-side &amp;quot;programming&amp;quot; and is one of the few languages created specifically for [[web programming]].&amp;lt;ref&amp;gt;{{cite web|url=http://www.php.net/|title=PHP: Hypertext Preprocessor}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.lampfire.com/encyclopedia-web/php.php|title=Encyclopedia Web}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use PHP with an HTML form, the URL of the PHP script is specified in the &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; attribute of the form tag. The target PHP file then accesses the data passed by the form through PHP&amp;#039;s &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; inline&amp;gt;$_POST&amp;lt;/syntaxhighlight&amp;gt; or &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; inline&amp;gt;$_GET&amp;lt;/syntaxhighlight&amp;gt; variables, depending on the value of the &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; attribute used in the form. Here is a basic form handler PHP script that will display the contents of the {{samp|first_name}} input field on the page:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;{{samp|form.html}}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Form&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form action=&amp;quot;form_handler.php&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;&amp;lt;label&amp;gt;Name: &amp;lt;input name=&amp;quot;first_name&amp;quot; /&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;&amp;lt;button type=&amp;quot;submit&amp;quot;&amp;gt;Submit&amp;lt;/button&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;{{samp|form_handler.php}}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html+php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// requesting the value of the external variable &amp;quot;first_name&amp;quot; and filtering it.&lt;br /&gt;
$firstName = filter_input(INPUT_GET, &amp;quot;first_name&amp;quot;, FILTER_SANITIZE_STRING);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Output&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;?php echo &amp;quot;Hello, {$firstName}!&amp;quot;; /* printing the value */?&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The sample code above  uses PHP&amp;#039;s &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; inline&amp;gt;filter_input()&amp;lt;/syntaxhighlight&amp;gt; function to sanitize the user&amp;#039;s input before inserting it onto the page. Simply printing (echoing) user input to the browser without checking it first is something that should be avoided in secure forms processors: if a user entered the JavaScript code &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; inline&amp;gt;&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; into the {{samp|firstname}} field, the browser would execute the script on the {{samp|form_handler.php}} page, just as if it had been coded by the developer; malicious code could be executed this way. &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; inline&amp;gt;filter_input()&amp;lt;/syntaxhighlight&amp;gt; was introduced in PHP 5.2. Users of earlier PHP versions could use the &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; inline&amp;gt;htmlspecialchars()&amp;lt;/syntaxhighlight&amp;gt; function, or [[regular expressions]] to sanitize the user input before doing anything with it.&lt;br /&gt;
&lt;br /&gt;
====Perl programming language====&lt;br /&gt;
[[Perl]] is another language often used for [[web development]]. Perl scripts are traditionally used as [[Common Gateway Interface]] applications (CGIs). In fact, Perl is such a common way to write CGIs that the two are often confused. CGIs may be written in other languages than Perl (compatibility with multiple languages is a design goal of the CGI protocol) and there are other ways to make Perl scripts interoperate with a [[web server]] than using CGI (such as [[FastCGI]], [[Plack (software)|Plack]] or [[Apache HTTP Server|Apache]]&amp;#039;s [[mod_perl]]).&lt;br /&gt;
&lt;br /&gt;
Perl CGIs were once a very common way to write [[web application]]s. However, many web hosts today effectively only support PHP, and developers of web applications often seek compatibility with them.&lt;br /&gt;
&lt;br /&gt;
A modern Perl 5 CGI using the CGI module with a form similar to the one above might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;{{samp|form_handler.pl}}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env perl&lt;br /&gt;
use strict;&lt;br /&gt;
use CGI qw(:standard);&lt;br /&gt;
&lt;br /&gt;
my $name = param(&amp;quot;first_name&amp;quot;);&lt;br /&gt;
print header;&lt;br /&gt;
print html(&lt;br /&gt;
    body(&lt;br /&gt;
        p(&amp;quot;Hello, $name!&amp;quot;),&lt;br /&gt;
    ),&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Form-to-email scripts====&lt;br /&gt;
Among the simplest and most commonly needed types of server-side script is that which simply emails the contents of a submitted form. This kind of script is frequently exploited by [[spammer]]s, however, and many of the most popular form-to-email scripts in use are vulnerable to hijacking for the purpose of sending spam emails. One of the most popular scripts of this type was [http://www.scriptarchive.com/formmail.html &amp;quot;FormMail.pl&amp;quot;] made by [[Matt&amp;#039;s Script Archive]]. Today, this script is no longer widely used in new development due to lack of updates, security concerns, and difficulty of configuration.&lt;br /&gt;
&lt;br /&gt;
===Form builders===&lt;br /&gt;
&lt;br /&gt;
Some companies offer forms as a [[Software as a service|hosted service]]. Usually, these companies give some kind of visual editor, reporting tools and infrastructure to create and host the forms, that can be embedded into webpages.&amp;lt;ref&amp;gt;{{cite web|url=https://blitzen.com/blog/intro-online-forms-form-builders/|title=Intro to Online Forms and Form Builders|last1=Garofalo|first1=Josh|website=Blitzen Blog}}&amp;lt;/ref&amp;gt; [[Web hosting]] companies provide templates to their clients as an add-on service.  Other form hosting services offer free contact forms that a user can install on their own website by pasting the service&amp;#039;s code into the site&amp;#039;s HTML.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
HTML forms were first implemented by the [[ViolaWWW|Viola]] browser.&amp;lt;ref&amp;gt;{{cite web |title=ViolaWWW |url=https://www.webdesignmuseum.org/web-design-history/violawww-1992 |website=webdesignmuseum.org |publisher=Web Design Museum |access-date=17 February 2022}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[CAPTCHA]]&lt;br /&gt;
* [[Postback]]&lt;br /&gt;
* [[XForms]]&lt;br /&gt;
* [[HTML]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.w3.org/TR/html4/interact/forms.html Forms in HTML documents], the [[W3C]]&amp;#039;s spec page for forms in HTML 4.&lt;br /&gt;
* [http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html HTML5 forms specification]&lt;br /&gt;
* [[Wikibooks:HyperText Markup Language/Forms|Wikibooks: HyperText Markup Language/Forms]]&lt;br /&gt;
* [https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_submit Try out HTML properties.]&lt;br /&gt;
&lt;br /&gt;
{{Authority control}}&lt;br /&gt;
{{Use dmy dates|date=August 2024}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:User interface techniques]]&lt;br /&gt;
[[Category:HTML tags]]&lt;br /&gt;
[[Category:HTML]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Bruce1ee</name></author>
	</entry>
</feed>