c# convert pdf to image free library : Extracting data from pdf to excel Library SDK API .net asp.net azure sharepoint print42-part2094

calculation). No client-side scripting is needed in many cases, though an API is available so that scripts can augment the user experience or use
forms for purposes other than submitting data to a server.
Writing a form consists of several steps, which can be performed in any order: writing the user interface, implementing the server-side processing,
and configuring the user interface to communicate with the server.
4.10.1.1 Writing a form's user interface
This section is non-normative.
For the purposes of this brief introduction, we will create a pizza ordering form.
Any form starts with aformp429
element, inside which are placed the controls. Most controls are represented by theinputp434
element, which by
default provides a one-line text field. To label a control, thelabelp432
element is used; the label text and the control itself go inside thelabelp432
element. Each part of a form is considered aparagraphp119
, and is typically separated from other parts usingpp186
elements. Putting this together,
here is how one might ask for the customer's name:
<form>
<p><label>Customer name: <input></label></p>
</form>
To let the user select the size of the pizza, we can use a set of radio buttons. Radio buttons also use theinputp434
element, this time with a
typep436
attribute with the valueradiop456
. To make the radio buttons work as a group, they are given a common name using thenamep510
attribute. To group a batch of controls together, such as, in this case, the radio buttons, one can use thefieldsetp505
element. The title of such a
group of controls is given by the first element in thefieldsetp505
, which has to be alegendp507
element.
<form>
<p><label>Customer name: <input></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size> Small </label></p>
<p><label> <input type=radio name=size> Medium </label></p>
<p><label> <input type=radio name=size> Large </label></p>
</fieldset>
</form>
To pick toppings, we can use checkboxes. These use theinputp434
element with atypep436
attribute with the valuecheckboxp455
:
<form>
<p><label>Customer name: <input></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size> Small </label></p>
<p><label> <input type=radio name=size> Medium </label></p>
<p><label> <input type=radio name=size> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox> Bacon </label></p>
<p><label> <input type=checkbox> Extra Cheese </label></p>
<p><label> <input type=checkbox> Onion </label></p>
<p><label> <input type=checkbox> Mushroom </label></p>
</fieldset>
</form>
The pizzeria for which this form is being written is always making mistakes, so it needs a way to contact the customer. For this purpose, we can use
form controls specifically for telephone numbers (inputp434
elements with theirtypep436
attribute set totelp441
) and e-mail addresses (inputp434
elements with theirtypep436
attribute set toemailp443
):
Changes from the previous step are highlighted.
Note
421
Extracting data from pdf to excel - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
pdf data extraction tool; save pdf forms in reader
Extracting data from pdf to excel - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extracting data from pdf into excel; export excel to pdf form
<form>
<p><label>Customer name: <input></label></p>
<p><label>Telephone: <input type=tel></label></p>
<p><label>E-mail address: <input type=email></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size> Small </label></p>
<p><label> <input type=radio name=size> Medium </label></p>
<p><label> <input type=radio name=size> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox> Bacon </label></p>
<p><label> <input type=checkbox> Extra Cheese </label></p>
<p><label> <input type=checkbox> Onion </label></p>
<p><label> <input type=checkbox> Mushroom </label></p>
</fieldset>
</form>
We can use aninputp434
element with itstypep436
attribute set totimep448
to ask for a delivery time. Many of these form controls have attributes
to control exactly what values can be specified; in this case, three attributes of particular interest areminp467
,maxp467
, andstepp468
. These set the
minimum time, the maximum time, and the interval between allowed values (in seconds). This pizzeria only delivers between 11am and 9pm, and
doesn't promise anything better than 15 minute increments, which we can mark up as follows:
<form>
<p><label>Customer name: <input></label></p>
<p><label>Telephone: <input type=tel></label></p>
<p><label>E-mail address: <input type=email></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size> Small </label></p>
<p><label> <input type=radio name=size> Medium </label></p>
<p><label> <input type=radio name=size> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox> Bacon </label></p>
<p><label> <input type=checkbox> Extra Cheese </label></p>
<p><label> <input type=checkbox> Onion </label></p>
<p><label> <input type=checkbox> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900"></label></p>
</form>
Thetextareap489
element can be used to provide a free-form text field. In this instance, we are going to use it to provide a space for the customer
to give delivery instructions:
<form>
<p><label>Customer name: <input></label></p>
<p><label>Telephone: <input type=tel></label></p>
<p><label>E-mail address: <input type=email></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size> Small </label></p>
<p><label> <input type=radio name=size> Medium </label></p>
<p><label> <input type=radio name=size> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox> Bacon </label></p>
<p><label> <input type=checkbox> Extra Cheese </label></p>
422
C# PDF Text Extract Library: extract text content from PDF file in
Free online source code for extracting text from adobe PDF document in C#.NET class. Enable extracting PDF text to another PDF file, TXT and SVG formats.
extract data from pdf file to excel; exporting pdf form to excel
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
C# programming sample for extracting all images from PDF. // Open a document. C# programming sample for extracting all images from a specific PDF page.
online form pdf output; change font size pdf form reader
<p><label> <input type=checkbox> Onion </label></p>
<p><label> <input type=checkbox> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900"></label></p>
<p><label>Delivery instructions: <textarea></textarea></label></p>
</form>
Finally, to make the form submittable we use thebuttonp476
element:
<form>
<p><label>Customer name: <input></label></p>
<p><label>Telephone: <input type=tel></label></p>
<p><label>E-mail address: <input type=email></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size> Small </label></p>
<p><label> <input type=radio name=size> Medium </label></p>
<p><label> <input type=radio name=size> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox> Bacon </label></p>
<p><label> <input type=checkbox> Extra Cheese </label></p>
<p><label> <input type=checkbox> Onion </label></p>
<p><label> <input type=checkbox> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900"></label></p>
<p><label>Delivery instructions: <textarea></textarea></label></p>
<p><button>Submit order</button></p>
</form>
4.10.1.2 Implementing the server-side processing for a form
This section is non-normative.
The exact details for writing a server-side processor are out of scope for this specification. For the purposes of this introduction, we will assume that
the script athttps://pizza.example.com/order.cgiis configured to accept submissions using theapplication/x-www-form-
urlencodedp513
format, expecting the following parameters sent in an HTTP POST body:
custname
Customer's name
custtel
Customer's telephone number
custemail
Customer's e-mail address
size
The pizza size, eithersmall,medium, orlarge
topping
A topping, specified once for each selected topping, with the allowed values beingbacon,cheese,onion, andmushroom
delivery
The requested delivery time
comments
The delivery instructions
423
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET PDF - PDF File Pages Extraction Guide. Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc. Free PDF document
extract data from pdf forms; how to fill out a pdf form with reader
VB.NET PDF Text Extract Library: extract text content from PDF
Enable extracting PDF text to another PDF file, and other formats such as TXT and SVG form. OCR text from scanned PDF by working with XImage.OCR SDK.
exporting pdf data to excel; how to save fillable pdf form in reader
4.10.1.3 Configuring a form to communicate with a server
This section is non-normative.
Form submissions are exposed to servers in a variety of ways, most commonly as HTTP GET or POST requests. To specify the exact method
used, themethodp512
attribute is specified on theformp429
element. This doesn't specify how the form data is encoded, though; to specify that, you
use theenctypep513
attribute. You also have to specify theURL
of the service that will handle the submitted data, using theactionp512
attribute.
For each form control you want submitted, you then have to give a name that will be used to refer to the data in the submission. We already
specified the name for the group of radio buttons; the same attribute (namep510
) also specifies the submission name. Radio buttons can be
distinguished from each other in the submission by giving them different values, using thevaluep438
attribute.
Multiple controls can have the same name; for example, here we give all the checkboxes the same name, and the server distinguishes which
checkbox was checked by seeing which values are submitted with that name — like the radio buttons, they are also given unique values with the
valuep438
attribute.
Given the settings in the previous section, this all becomes:
<form
method="post"
enctype="application/x-www-form-urlencoded"
action="https://pizza.example.com/order.cgi">
<p><label>Customer name: <input
name="custname"></label></p>
<p><label>Telephone: <input type=tel
name="custtel"></label></p>
<p><label>E-mail address: <input type=email
name="custemail"></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size
value="small"> Small </label></p>
<p><label> <input type=radio name=size
value="medium"> Medium </label></p>
<p><label> <input type=radio name=size
value="large"> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox
name="topping" value="bacon"> Bacon </label></p>
<p><label> <input type=checkbox
name="topping" value="cheese"> Extra Cheese </label></p>
<p><label> <input type=checkbox
name="topping" value="onion"> Onion </label></p>
<p><label> <input type=checkbox
name="topping" value="mushroom"> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900"
name="delivery"></label></p>
<p><label>Delivery instructions: <textarea
name="comments"></textarea></label></p>
<p><button>Submit order</button></p>
</form>
For example, if the customer entered "Denise Lawrence" as their name, "555-321-8642" as their telephone number, did not specify an e-mail
address, asked for a medium-sized pizza, selected the Extra Cheese and Mushroom toppings, entered a delivery time of 7pm, and left the delivery
instructions text field blank, the user agent would submit the following to the online Web service:
custname=Denise+Lawrence&custtel=555-321-8642&custemail=&size=medium&topping=cheese&topping=mushroom&delivery=19%3A00&comments=
4.10.1.4 Client-side form validation
This section is non-normative.
Forms can be annotated in such a way that the user agent will check the user's input before the form is submitted. The server still has to verify the
input is valid (since hostile users can easily bypass the form validation), but it allows the user to avoid the wait incurred by having the server be the
sole checker of the user's input.
There is no particular significance to the way some of the attributes have their values quoted and others don't. The HTML syntax allows a
variety of equally valid ways to specify attributes, as discussedin the syntax sectionp954
.
Note
Support:
Chrome
10+
Chrome for Android
50+
UC Browser for Android 9.9+
iOS Safari(limited) 4.0-4.1+
Firefox
4+
IE
10+
Opera Mini(limited) 5.0-8.0+
Android Browser r 4.4.3-4.4.4+
Edge
12+
Safari(limited)
5+
Opera
10.0-10.1+
IE Mobile(limited)
10+
Source:caniuse.com
424
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Sample for extracting all images from PDF in VB.NET program. Sample for extracting an image from a specific position on PDF in VB.NET program.
pdf form save with reader; cannot save pdf form in reader
How to C#: Basic SDK Concept of XDoc.PDF for .NET
And PDF file text processing like text writing, extracting, searching, etc., are to load a PDF document from file or query data and save the PDF document.
pdf data extraction open source; extract data from pdf
The simplest annotation is therequiredp464
attribute, which can be specified oninputp434
elements to indicate that the form is not to be
submitted until a value is given. By adding this attribute to the customer name, pizza size, and delivery time fields, we allow the user agent to notify
the user when the user submits the form without filling in those fields:
<form method="post"
enctype="application/x-www-form-urlencoded"
action="https://pizza.example.com/order.cgi">
<p><label>Customer name: <input name="custname"
required></label></p>
<p><label>Telephone: <input type=tel name="custtel"></label></p>
<p><label>E-mail address: <input type=email name="custemail"></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size
required value="small"> Small </label></p>
<p><label> <input type=radio name=size
required value="medium"> Medium </label></p>
<p><label> <input type=radio name=size
required value="large"> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox name="topping" value="bacon"> Bacon </label></p>
<p><label> <input type=checkbox name="topping" value="cheese"> Extra Cheese </label></p>
<p><label> <input type=checkbox name="topping" value="onion"> Onion </label></p>
<p><label> <input type=checkbox name="topping" value="mushroom"> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900" name="delivery"
required></label></p>
<p><label>Delivery instructions: <textarea name="comments"></textarea></label></p>
<p><button>Submit order</button></p>
</form>
It is also possible to limit the length of the input, using themaxlengthp510
attribute. By adding this to thetextareap489
element, we can limit users
to 1000 characters, preventing them from writing huge essays to the busy delivery drivers instead of staying focused and to the point:
<form method="post"
enctype="application/x-www-form-urlencoded"
action="https://pizza.example.com/order.cgi">
<p><label>Customer name: <input name="custname" required></label></p>
<p><label>Telephone: <input type=tel name="custtel"></label></p>
<p><label>E-mail address: <input type=email name="custemail"></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size required value="small"> Small </label></p>
<p><label> <input type=radio name=size required value="medium"> Medium </label></p>
<p><label> <input type=radio name=size required value="large"> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox name="topping" value="bacon"> Bacon </label></p>
<p><label> <input type=checkbox name="topping" value="cheese"> Extra Cheese </label></p>
<p><label> <input type=checkbox name="topping" value="onion"> Onion </label></p>
<p><label> <input type=checkbox name="topping" value="mushroom"> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900" name="delivery"
required></label></p>
<p><label>Delivery instructions: <textarea name="comments"
maxlength=1000></textarea></label></p>
<p><button>Submit order</button></p>
</form>
When a form is submitted,invalidp1154
events are fired at each form control that is invalid, and then at theformp429
element itself. This
can be useful for displaying a summary of the problems with the form, since typically the browser itself will only report one problem at a
time.
Note
425
VB.NET PDF: Basic SDK Concept of XDoc.PDF
And PDF file text processing like text writing, extracting, searching, etc., are to load a PDF document from file or query data and save the PDF document.
extract pdf form data to xml; export pdf form data to excel spreadsheet
C# PDF insert text Library: insert text into PDF content in C#.net
functions to PDF document imaging application, such as inserting text to PDF, deleting text from PDF, searching text in PDF, extracting text from PDF, and so on
pdf data extractor; how to extract data from pdf to excel
4.10.1.5 Enabling client-side automatic filling of form controls
This section is non-normative.
Some browsers attempt to aid the user by automatically filling form controls rather than having the user reenter their information each time. For
example, a field asking for the user's telephone number can be automatically filled with the user's phone number.
To help the user agent with this, theautocompletep516
attribute can be used to describe the field's purpose. In the case of this form, we have
three fields that can be usefully annotated in this way: the information about who the pizza is to be delivered to. Adding this information looks like
this:
<form method="post"
enctype="application/x-www-form-urlencoded"
action="https://pizza.example.com/order.cgi">
<p><label>Customer name: <input name="custname" required
autocomplete="shipping name"></label></p>
<p><label>Telephone: <input type=tel name="custtel"
autocomplete="shipping tel"></label></p>
<p><label>E-mail address: <input type=email name="custemail"
autocomplete="shipping email"></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size required value="small"> Small </label></p>
<p><label> <input type=radio name=size required value="medium"> Medium </label></p>
<p><label> <input type=radio name=size required value="large"> Large </label></p>
</fieldset>
<fieldset>
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox name="topping" value="bacon"> Bacon </label></p>
<p><label> <input type=checkbox name="topping" value="cheese"> Extra Cheese </label></p>
<p><label> <input type=checkbox name="topping" value="onion"> Onion </label></p>
<p><label> <input type=checkbox name="topping" value="mushroom"> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900" name="delivery"
required></label></p>
<p><label>Delivery instructions: <textarea name="comments" maxlength=1000></textarea></label></p>
<p><button>Submit order</button></p>
</form>
4.10.1.6 Improving the user experience on mobile devices
This section is non-normative.
Some devices, in particular those with on-screen keyboards and those in locales with languages with many characters (e.g. Japanese), can provide
the user with multiple input modalities. For example, when typing in a credit card number the user may wish to only see keys for digits 0-9, while
when typing in their name they may wish to see a form field that by default capitalises each word.
Using theinputmodep515
attribute we can select appropriate input modalities:
<form method="post"
enctype="application/x-www-form-urlencoded"
action="https://pizza.example.com/order.cgi">
<p><label>Customer name: <input name="custname" required autocomplete="shipping name"
inputmode="latin-name"></label></p>
<p><label>Telephone: <input type=tel name="custtel" autocomplete="shipping tel"></label></p>
<p><label>E-mail address: <input type=email name="custemail" autocomplete="shipping email"></label></p>
<fieldset>
<legend> Pizza Size </legend>
<p><label> <input type=radio name=size required value="small"> Small </label></p>
<p><label> <input type=radio name=size required value="medium"> Medium </label></p>
<p><label> <input type=radio name=size required value="large"> Large </label></p>
</fieldset>
<fieldset>
426
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
NET application. Online C# source code for extracting, copying and pasting PDF pages in C#.NET console class. Support .NET WinForms
how to extract data from pdf file using java; extract pdf form data to excel
<legend> Pizza Toppings </legend>
<p><label> <input type=checkbox name="topping" value="bacon"> Bacon </label></p>
<p><label> <input type=checkbox name="topping" value="cheese"> Extra Cheese </label></p>
<p><label> <input type=checkbox name="topping" value="onion"> Onion </label></p>
<p><label> <input type=checkbox name="topping" value="mushroom"> Mushroom </label></p>
</fieldset>
<p><label>Preferred delivery time: <input type=time min="11:00" max="21:00" step="900" name="delivery"
required></label></p>
<p><label>Delivery instructions: <textarea name="comments" maxlength=1000
inputmode="latin-prose"></textarea></label></p>
<p><button>Submit order</button></p>
</form>
4.10.1.7 The difference between the field type, the autofill field name, and the input modality
This section is non-normative.
Thetypep436
,autocompletep516
, andinputmodep515
attributes can seem confusingly similar. For instance, in all three cases, the string "email"
is a valid value. This section attempts to illustrate the difference between the three attributes and provides advice suggesting how to use them.
Thetypep436
attribute oninputp434
elements decides what kind of control the user agent will use to expose the field. Choosing between different
values of this attribute is the same choice as choosing whether to use aninputp434
element, atextareap489
element, aselectp479
element, a
keygenp494
element, etc.
Theautocompletep516
attribute, in contrast, describes what the value that the user will enter actually represents. Choosing between different
values of this attribute is the same choice as choosing what the label for the element will be.
First, consider telephone numbers. If a page is asking for a telephone number from the user, the right form control to use is<input
type=tel>p441
. However, whichautocompletep516
value to use depends on which phone number the page is asking for, whether they expect a
telephone number in the international format or just the local format, and so forth.
For example, a page that forms part of a checkout process on an e-commerce site for a customer buying a gift to be shipped to a friend might need
both the buyer's telephone number (in case of payment issues) and the friend's telephone number (in case of delivery issues). If the site expects
international phone numbers (with the country code prefix), this could thus look like this:
<p><label>Your phone number: <input type=tel name=custtel autocomplete="billing tel"></label>
<p><label>Recipient's phone number: <input type=tel name=shiptel autocomplete="shipping tel"></label>
<p>Please enter complete phone numbers including the country code prefix, as in "+1 555 123 4567".
But if the site only supports British customers and recipients, it might instead look like this (notice the use oftel-nationalp520
rather than
telp520
):
<p><label>Your phone number: <input type=tel name=custtel autocomplete="billing tel-national"></label>
<p><label>Recipient's phone number: <input type=tel name=shiptel autocomplete="shipping
tel-national"></label>
<p>Please enter complete UK phone numbers, as in "(01632) 960 123".
Now, consider a person's preferred languages. The rightautocompletep516
value islanguagep519
. However, there could be a number of different
form controls used for the purpose: a free text field (<input type=text>p440
), a drop-down list (<select>p479
), radio buttons (<input
type=radio>p456
), etc. It only depends on what kind of interface is desired.
Theinputmodep515
decides what kind of input modality (e.g. keyboard) to use, when the control is a free-form text field.
Consider names. If a page just wants one name from the user, then the relevant control is<input type=text>p440
. If the page is asking for the
user's full name, then the relevantautocompletep516
value isnamep518
. But if the user is Japanese, and the page is asking for the user's
Japanese name and the user's romanised name, then it would be helpful to the user if the first field defaulted to a Japanese input modality, while
the second defaulted to a Latin input modality (ideally with automatic capitalization of each word). This is where theinputmodep515
attribute can
help:
427
<p><label>Japanese name: <input name="j" type="text" autocomplete="section-jp name"
inputmode="kana"></label>
<label>Romanised name: <input name="e" type="text" autocomplete="section-en name"
inputmode="latin-name"></label>
In this example, the "section-*p516
" keywords in theautocompletep516
attributes' values tell the user agent that the two fields expectdifferent
names. Without them, the user agent could automatically fill the second field with the value given in the first field when the user gave a value to the
first field.
4.10.1.8 Date, time, and number formats
This section is non-normative.
In this pizza delivery example, the times are specified in the format "HH:MM": two digits for the hour, in 24-hour format, and two digits for the time.
(Seconds could also be specified, though they are not necessary in this example.)
In some locales, however, times are often expressed differently when presented to users. For example, in the United States, it is still common to
use the 12-hour clock with an am/pm indicator, as in "2pm". In France, it is common to separate the hours from the minutes using an "h" character,
as in "14h00".
Similar issues exist with dates, with the added complication that even the order of the components is not always consistent — for example, in
Cyprus the first of February 2003 would typically be written "1/2/03", while that same date in Japan would typically be written as "2003年02月01日"
— and even with numbers, where locales differ, for example, in what punctuation is used as the decimal separator and the thousands separator.
It is therefore important to distinguish the time, date, and number formats used in HTML and in form submissions, which are always the formats
defined in this specification (and based on the well-established ISO 8601 standard for computer-readable date and time formats), from the time,
date, and number formats presented to the user by the browser and accepted as input from the user by the browser.
The format used "on the wire", i.e. in HTML markup and in form submissions, is intended to be computer-readable and consistent irrespective of the
user's locale. Dates, for instance, are always written in the format "YYYY-MM-DD", as in "2003-02-01". Users are not expected to ever see this
format.
The time, date, or number given by the page in the wire format is then translated to the user's preferred presentation (based on user preferences or
on the locale of the page itself), before being displayed to the user. Similarly, after the user inputs a time, date, or number using their preferred
format, the user agent converts it back to the wire format before putting it in the DOM or submitting it.
This allows scripts in pages and on servers to process times, dates, and numbers in a consistent manner without needing to support dozens of
different formats, while still supporting the users' needs.
Mostly for historical reasons, elements in this section fall into several overlapping (but subtly different) categories in addition to the usual ones like
flow contentp117
,phrasing contentp117
, andinteractive contentp118
.
A number of the elements areform-associated elements, which means they can have aform ownerp508
.
buttonp476
,fieldsetp505
,inputp434
,keygenp494
,objectp318
,outputp497
,selectp479
,textareap489
,imgp280
Theform-associated elementsp428
fall into several subcategories:
Listed elements
Denotes elements that are listed in theform.elementsp431
andfieldset.elementsp506
APIs. These elements also have aformp508
content attribute, and a matchingformp510
IDL attribute, that allow authors to specify an explicitform ownerp508
.
The "-jp" and "-en" parts of the keywords are opaque to the user agent; the user agent cannot guess, from those, that the two names are
expected to be in Japanese and English respectively.
Note
See also theimplementation notesp463
regarding localization of form controls.
Note
4.10.2 Categories
428
buttonp476
,fieldsetp505
,inputp434
,keygenp494
,objectp318
,outputp497
,selectp479
,textareap489
Submittable elements
Denotes elements that can be used forconstructing the form data setp540
when aformp429
element issubmittedp537
.
buttonp476
,inputp434
,keygenp494
,objectp318
,selectp479
,textareap489
Somesubmittable elementsp429
can be, depending on their attributes,buttons. The prose below defines when an element is a button. Some
buttons are specificallysubmit buttons.
Resettable elements
Denotes elements that can be affected when aformp429
element isresetp543
.
inputp434
,keygenp494
,outputp497
,selectp479
,textareap489
Some elements, not all of themform-associatedp428
, are categorised aslabelable elements. These are elements that can be associated with a
labelp432
element.
buttonp476
,inputp434
(if thetypep436
attribute isnotin thehiddenp440
state),keygenp494
,meterp500
,outputp497
,progressp499
,
selectp479
,textareap489
Categoriesp114:
Flow contentp117
.
Palpable contentp118
.
Contexts in which this element can be usedp114:
Whereflow contentp117
is expected.
Content modelp114:
Flow contentp117
, but with noformp429
element descendants.
Tag omission in text/htmlp114:
Neither tag is omissible.
Content attributesp114:
Global attributesp121
accept-charsetp430
— Character encodings to use forform submissionp536
actionp512
URL
to use forform submissionp536
autocompletep430
— Default setting for autofill feature for controls in the form
enctypep513
— Form data set encoding type to use forform submissionp536
methodp512
— HTTP method to use forform submissionp536
namep430
— Name of form to use in thedocument.formsp108
API
novalidatep513
— Bypass form control validation forform submissionp536
targetp513
Browsing contextp748
forform submissionp536
DOM interfacep114:
[OverrideBuiltins, LegacyUnenumerableNamedProperties]
interface HTMLFormElement : HTMLElement
{
[CEReactions
] attribute DOMString acceptCharset
;
[CEReactions
] attribute DOMString action
;
[CEReactions
] attribute DOMString autocomplete
;
[CEReactions
] attribute DOMString enctype
;
[CEReactions
] attribute DOMString encoding
;
[CEReactions
] attribute DOMString method
;
[CEReactions
] attribute DOMString name
;
[CEReactions
] attribute boolean noValidate
;
IDL
4.10.3 Theformelement
429
[CEReactions
] attribute DOMString target
;
[SameObject] readonly attribute HTMLFormControlsCollection
elements
;
readonly attribute unsigned long length
;
getter
Element
(unsigned long index);
getter
(RadioNodeList
or Element
) (DOMString name);
void submit
();
[CEReactions
] void reset
();
boolean checkValidity
();
boolean reportValidity
();
};
Theformp429
elementrepresentsp112
a collection ofform-associated elementsp428
, some of which can represent editable values that can be
submitted to a server for processing.
Theaccept-charsetattribute gives the character encodings that are to be used for the submission. If specified, the value must be anordered set
of unique space-separated tokensp84
that areASCII case-insensitivep63
, and each token must be anASCII case-insensitivep63
match for one of the
labels
of anASCII-compatible encodingp44
.[ENCODING]p1160
Thenameattribute represents theformp429
's name within theformsp108
collection. The value must not be the empty string, and the value must be
unique amongst theformp429
elements in theformsp108
collection that it is in, if any.
Theautocompleteattribute is anenumerated attributep65
. The attribute has two states. Theonkeyword maps to theonstate, and theoff
keyword maps to theoffstate. The attribute may also be omitted. Themissing value defaultp65
is theonp430
state. Theoffp430
state indicates that by
default, form controls in the form will have theirautofill field namep521
set to "offp517
"; theonp430
state indicates that by default, form controls in the
form will have theirautofill field namep521
set to "onp518
".
Theactionp512
,enctypep513
,methodp512
,novalidatep513
, andtargetp513
attributes areattributes for form submissionp512
.
form.elementsp431
Returns anHTMLFormControlsCollectionp93
of the form controls in the form (excluding image buttons for historical reasons).
form.lengthp431
Returns the number of form controls in the form (excluding image buttons for historical reasons).
form[index]
Returns theindexth element in the form (excluding image buttons for historical reasons).
form[name]
Returns the form control (or, if there are several, aRadioNodeListp93
of the form controls) in the form with the givenID
ornamep510
(excluding image buttons for historical reasons); or, if there are none, returns theimgp280
element with the given ID.
Once an element has been referenced using a particular name, that name will continue being available as a way to reference that
element in this method, even if the element's actualID
ornamep510
changes, for as long as the element remains in thetree
.
If there are multiple matching items, then aRadioNodeListp93
object containing all those elements is returned.
form.submitp432()
Submits the form.
form.resetp432()
Resets the form.
Note
430
Documents you may be interested
Documents you may be interested