inputp434
elements with atypep436
attribute in theSearchp440
state
inputp434
elements with atypep436
attribute in theURLp441
state
textareap489
elements
selectp479
elements
E-mail
inputp434
elements with atypep436
attribute in theHiddenp440
state
inputp434
elements with atypep436
attribute in theTextp440
state
inputp434
elements with atypep436
attribute in theSearchp440
state
inputp434
elements with atypep436
attribute in theE-mailp443
state
textareap489
elements
selectp479
elements
Tel
inputp434
elements with atypep436
attribute in theHiddenp440
state
inputp434
elements with atypep436
attribute in theTextp440
state
inputp434
elements with atypep436
attribute in theSearchp440
state
inputp434
elements with atypep436
attribute in theTelephonep441
state
textareap489
elements
selectp479
elements
Numeric
inputp434
elements with atypep436
attribute in theHiddenp440
state
inputp434
elements with atypep436
attribute in theTextp440
state
inputp434
elements with atypep436
attribute in theSearchp440
state
inputp434
elements with atypep436
attribute in theNumberp450
state
textareap489
elements
selectp479
elements
Month
inputp434
elements with atypep436
attribute in theHiddenp440
state
inputp434
elements with atypep436
attribute in theTextp440
state
inputp434
elements with atypep436
attribute in theSearchp440
state
inputp434
elements with atypep436
attribute in theMonthp446
state
textareap489
elements
selectp479
elements
Date
inputp434
elements with atypep436
attribute in theHiddenp440
state
inputp434
elements with atypep436
attribute in theTextp440
state
inputp434
elements with atypep436
attribute in theSearchp440
state
inputp434
elements with atypep436
attribute in theDatep445
state
textareap489
elements
selectp479
elements
Address levels: The "address-level1p519
" – "address-level4p519
" fields are used to describe the locality of the street address. Different
locales have different numbers of levels. For example, the US uses two levels (state and town), the UK uses one or two depending on the address
(the post town, and in some cases the locality), and China can use three (province, city, district). The "address-level1p519
" field represents the
widest administrative division. Different locales order the fields in different ways; for example, in the US the town (level 2) precedes the state (level
1); while in Japan the prefecture (level 1) precedes the city (level 2) which precedes the district (level 3). Authors are encouraged to provide forms
that are presented in a way that matches the country's conventions (hiding, showing, and rearranging fields accordingly as the user changes the
country).
4.10.19.8.2Processing model
Eachinputp434
element to which theautocompletep516
attributeappliesp437
, eachselectp479
element, and eachtextareap489
element, has an
autofill hint set, anautofill scope, anautofill field name, and anIDL-exposed autofill value.
521
Pdf form data extraction - 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
how to make a pdf form fillable in reader; c# read pdf form fields
Pdf form data extraction - 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
how to save editable pdf form in reader; how to fill in a pdf form in reader
Theautofill field namep521
specifies the specific kind of data expected in the field, e.g. "street-addressp519
" or "cc-expp519
".
Theautofill hint setp521
identifies what address or contact information type the user agent is to look at, e.g. "shippingp516
faxp517
" or
"billingp516
".
Theautofill scopep521
identifies the group of fields whose information concerns the same subject, and consists of theautofill hint setp521
with, if
applicable, the "section-*" prefix, e.g. "billing", "section-parent shipping", or "section-child shipping home".
These values are defined as the result of running the following algorithm:
1. If the element has noautocompletep516
attribute, then jump to the step labeleddefault.
2. Lettokensbe the result ofsplitting the attribute's value on spacesp84
.
3. Iftokensis empty, then jump to the step labeleddefault.
4. Letindexbe the index of the last token intokens.
5. If theindexth token intokensis not anASCII case-insensitivep63
match for one of the tokens given in the first column of the following
table, or if the number of tokens intokensis greater than the maximum number given in the cell in the second column of that token's
row, then jump to the step labeleddefault. Otherwise, letfieldbe the string given in the cell of the first column of the matching row, and
letcategorybe the value of the cell in the third column of that same row.
Token
Maximum number of tokens Category
"offp517
"
1
Off
"onp518
"
1
Automatic
"namep518
"
3
Normal
"honorific-prefixp518
"
3
Normal
"given-namep518
"
3
Normal
"additional-namep518
"
3
Normal
"family-namep518
"
3
Normal
"honorific-suffixp518
"
3
Normal
"nicknamep518
"
3
Normal
"organization-titlep518
"
3
Normal
"usernamep518
"
3
Normal
"new-passwordp519
"
3
Normal
"current-passwordp519
"
3
Normal
"organizationp519
"
3
Normal
"street-addressp519
"
3
Normal
"address-line1p519
"
3
Normal
"address-line2p519
"
3
Normal
"address-line3p519
"
3
Normal
"address-level4p519
"
3
Normal
"address-level3p519
"
3
Normal
"address-level2p519
"
3
Normal
"address-level1p519
"
3
Normal
"countryp519
"
3
Normal
"country-namep519
"
3
Normal
"postal-codep519
"
3
Normal
"cc-namep519
"
3
Normal
"cc-given-namep519
"
3
Normal
"cc-additional-namep519
"
3
Normal
"cc-family-namep519
"
3
Normal
"cc-numberp519
"
3
Normal
"cc-expp519
"
3
Normal
"cc-exp-monthp519
"
3
Normal
"cc-exp-yearp519
"
3
Normal
522
VB.NET PDF Text Extract Library: extract text content from PDF
control provides text extraction from PDF images and image files. Enable extracting PDF text to another PDF file, and other formats such as TXT and SVG form.
extracting data from pdf forms; filling out pdf forms with reader
C# PDF Text Extract Library: extract text content from PDF file in
Image text extraction control provides text extraction from PDF images and image files. Best C#.NET PDF text extraction library and component for free download.
sign pdf form reader; pdf data extraction tool
Token
Maximum number of tokens Category
"cc-cscp519
"
3
Normal
"cc-typep519
"
3
Normal
"transaction-currencyp519
" 3
Normal
"transaction-amountp519
"
3
Normal
"languagep519
"
3
Normal
"bdayp519
"
3
Normal
"bday-dayp519
"
3
Normal
"bday-monthp520
"
3
Normal
"bday-yearp520
"
3
Normal
"sexp520
"
3
Normal
"urlp520
"
3
Normal
"photop520
"
3
Normal
"telp520
"
4
Contact
"tel-country-codep520
"
4
Contact
"tel-nationalp520
"
4
Contact
"tel-area-codep520
"
4
Contact
"tel-localp520
"
4
Contact
"tel-local-prefixp520
"
4
Contact
"tel-local-suffixp520
"
4
Contact
"tel-extensionp520
"
4
Contact
"emailp520
"
4
Contact
"imppp520
"
4
Contact
6. Ifcategoryis Off or Automatic but the element'sautocompletep516
attribute is wearing theautofill anchor mantlep516
, then jump to the
step labeleddefault.
7. Ifcategoryis Off, let the element'sautofill field namep521
be the string "off", let itsautofill hint setp521
be empty, and let itsIDL-exposed
autofill valuep521
be the string "off". Then, abort these steps.
8. Ifcategoryis Automatic, let the element'sautofill field namep521
be the string "on", let itsautofill hint setp521
be empty, and let itsIDL-
exposed autofill valuep521
be the string "on". Then, abort these steps.
9. Letscope tokensbe an empty list.
10. Lethint tokensbe an empty set.
11. LetIDL valuehave the same value asfield.
12. If theindexth token intokensis the first entry, then skip to the step labeleddone.
13. Decrementindexby one.
14. Ifcategoryis Contact and theindexth token intokensis anASCII case-insensitivep63
match for one of the strings in the following list,
then run the substeps that follow:
◦ "homep517
"
◦ "workp517
"
◦ "mobilep517
"
◦ "faxp517
"
◦ "pagerp517
"
The substeps are:
1. Letcontactbe the matching string from the list above.
2. Insertcontactat the start ofscope tokens.
3. Addcontacttohint tokens.
4. LetIDL valuebe the concatenation ofcontact, a U+0020 SPACE character, and the previous value ofIDL value(which at
this point will always befield).
523
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
image extraction from multiple page adobe PDF file in VB.NET. Extract multiple types of image from PDF file in VB.NET, like XObject Image, XObject Form, Inline
how to extract data from pdf to excel; how to flatten a pdf form in reader
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Support PDF Image Extraction from a Page, a Region on a Page Extract various types of image from PDF file, like XObject Image, XObject Form, Inline Image
exporting pdf form to excel; how to fill out a pdf form with reader
5. If theindexth entry intokensis the first entry, then skip to the step labeleddone.
6. Decrementindexby one.
15. If theindexth token intokensis anASCII case-insensitivep63
match for one of the strings in the following list, then run the substeps that
follow:
◦ "shippingp516
"
◦ "billingp516
"
The substeps are:
1. Letmodebe the matching string from the list above.
2. Insertmodeat the start ofscope tokens.
3. Addmodetohint tokens.
4. LetIDL valuebe the concatenation ofmode, a U+0020 SPACE character, and the previous value ofIDL value(which at this
point will either befieldor the concatenation ofcontact, a space, andfield).
5. If theindexth entry intokensis the first entry, then skip to the step labeleddone.
6. Decrementindexby one.
16. If theindexth entry intokensis not the first entry, then jump to the step labeleddefault.
17. If the first eight characters of theindexth token intokensare not anASCII case-insensitivep63
match for the string "section-p516
", then
jump to the step labeleddefault.
18. Letsectionbe theindexth token intokens,converted to ASCII lowercasep63
.
19. Insertsectionat the start ofscope tokens.
20. LetIDL valuebe the concatenation ofsection, a U+0020 SPACE character, and the previous value ofIDL value.
21. Done: Let the element'sautofill hint setp521
behint tokens.
22. Let the element'sautofill scopep521
bescope tokens.
23. Let the element'sautofill field namep521
befield.
24. Let the element'sIDL-exposed autofill valuep521
beIDL value.
25. Abort these steps.
26. Default: Let the element'sIDL-exposed autofill valuep521
be the empty string, and itsautofill hint setp521
andautofill scopep521
be empty.
27. If the element'sautocompletep516
attribute is wearing theautofill anchor mantlep516
, then let the element'sautofill field namep521
be the
empty string and abort these steps.
28. Letformbe the element'sform ownerp508
, if any, or null otherwise.
29. Ifformis not null andform'sautocompletep430
attribute is in theoffp430
state, then let the element'sautofill field namep521
be "offp517
".
Otherwise, let the element'sautofill field namep521
be "onp518
".
For the purposes of autofill, acontrol's datadepends on the kind of control:
Aninputp434
element with itstypep436
attribute in theE-mailp443
state and with themultiplep465
attribute specified
The element'svaluesp508
.
Any otherinputp434
element
Atextareap489
element
The element'svaluep508
.
Aselectp479
element with itsmultiplep480
attribute specified
Theoptionp486
elements in theselectp479
element'slist of optionsp480
that have theirselectednessp487
set to true.
524
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
how to save filled out pdf form in reader; save pdf forms in reader
VB.NET PDF Library SDK to view, edit, convert, process PDF file
PDF Text Extraction. Mature and robust APIs are provided for programmers to integrate and perform PDF text extraction feature in .NET windows and web project.
extract pdf data into excel; exporting pdf data to excel
Any otherselectp479
element
Theoptionp486
element in theselectp479
element'slist of optionsp480
that has itsselectednessp487
set to true.
How to process theautofill hint setp521
,autofill scopep521
, andautofill field namep521
depends on the mantle that theautocompletep516
attribute is
wearing.
When wearing theautofill expectation mantlep516
...
When an element'sautofill field namep521
is "offp517
", the user agent should not remember thecontrol's datap524
, and should not offer
past values to the user.
When an element'sautofill field namep521
isnot"offp517
", the user agent may store thecontrol's datap524
, and may offer previously
stored values to the user.
In addition, when an element'sautofill field namep521
is "offp517
",values are resetp799
whentraversing the historyp799
.
Note
Banks frequently do not want UAs to prefill login information:
<p><label>Account: <input type="text" name="ac" autocomplete="off"></label></p>
<p><label>PIN: <input type="password" name="pin" autocomplete="off"></label></p>
Example
For example, suppose a user visits a page with this control:
<select name="country">
<option>Afghanistan
<option>Albania
<option>Algeria
<option>Andorra
<option>Angola
<option>Antigua and Barbuda
<option>Argentina
<option>Armenia
<!-- ... -->
<option>Yemen
<option>Zambia
<option>Zimbabwe
</select>
This might render as follows:
Suppose that on the first visit to this page, the user selects "Zambia". On the second visit, the user agent could duplicate the
entry for Zambia at the top of the list, so that the interface instead looks like this:
Example
525
C# PDF File Permission Library: add, remove, update PDF file
Data. Data: Auto Fill-in Field Data. Field: Insert Choose to offer PDF annotation and content extraction Enable or disable copying and form filling functions.
extract pdf form data to xml; online form pdf output
VB.NET PDF File Permission Library: add, remove, update PDF file
Data. Data: Auto Fill-in Field Data. Field: Insert Choose to offer PDF annotation and content extraction Enable or disable copying and form filling functions.
extract data out of pdf file; make pdf form editable in reader
When theautofill field namep521
is "onp518
", the user agent should attempt to use heuristics to determine the most appropriate values to
offer the user, e.g. based on the element'snamep510
value, the position of the element in itstree
, what other fields exist in the form, and
so forth.
When theautofill field namep521
is one of the names of theautofill fieldsp518
described above, the user agent should provide suggestions
that match the meaning of the field name as given in the table earlier in this section. Theautofill hint setp521
should be used to select
amongst multiple possible suggestions.
When wearing theautofill anchor mantlep516
...
When theautofill field namep521
is not the empty string, then the user agent must act as if the user had specified thecontrol's datap524
for
the givenautofill hint setp521
,autofill scopep521
, andautofill field namep521
combination.
When the user agentautofills form controls, elements with the sameform ownerp508
and the sameautofill scopep521
must use data relating to the
same person, address, payment instrument, and contact details.When a user agent autofills "countryp519
" and "country-namep519
" fields with
the sameform ownerp508
andautofill scopep521
, and the user agent has a value for thecountryp519
" field(s), then the "country-namep519
" field(s)
must be filled using a human-readable name for the same country.When a user agent fills in multiple fields at once, all fields with the sameautofill
field namep521
,form ownerp508
andautofill scopep521
must be filled with the same value.
The "section-*" tokens in theautofill scopep521
are opaque; user agents must not attempt to derive meaning from the precise values of these
tokens.
For example, if a user once entered one address into fields that used the "shippingp516
" keyword, and another address into
fields that used the "billingp516
" keyword, then in subsequent forms only the first address would be suggested for form
controls whoseautofill hint setp521
contains the keyword "shippingp516
". Both addresses might be suggested, however, for
address-related form controls whoseautofill hint setp521
does not contain either keyword.
Example
Suppose a user agent knows of two phone numbers, +1 555 123 1234 and +1 555 666 7777. It would not be conforming for the user
agent to fill a field withautocomplete="shipping tel-local-prefix"with the value "123" and another field in the same form
withautocomplete="shipping tel-local-suffix"with the value "7777". The only valid prefilled values given the
aforementioned information would be "123" and "1234", or "666" and "7777", respectively.
Example
Similarly, if a form for some reason contained both a "cc-expp519
" field and a "cc-exp-monthp519
" field, and the user agent prefilled
the form, then the month component of the former would have to match the latter.
Example
This requirement interacts with theautofill anchor mantlep516
also. Consider the following markup snippet:
<form>
<input type=hidden autocomplete="nickname" value="TreePlate">
<input type=text autocomplete="nickname">
</form>
The only value that a conforming user agent could suggest in the text field is "TreePlate", the value given by the hiddeninputp434
element.
Example
For example, it would not be conforming if the user agent decided that it should offer the address it knows to be the user's daughter's
address for "section-child" and the addresses it knows to be the user's spouses' addresses for "section-spouse".
Example
526
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. PDF page deleting, PDF document splitting, PDF page reordering and PDF page image and
extract data from pdf forms; flatten pdf form in reader
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAnnot = True ' Allow to fill form. passwordSetting.IsFillForm = True ' Content extraction is allowed. True ' Add password to PDF file.
pdf data extraction tool; extracting data from pdf forms
The autocompletion mechanism must be implemented by the user agent acting as if the user had modified thecontrol's datap524
, and must be done
at a time where the element ismutablep508
(e.g. just after the element has been inserted into the document, or when the user agentstops
parsingp1042
). User agents must only prefill controls using values that the user could have entered.
A user agent prefilling a form control'svaluep508
must not cause that control tosuffer from a type mismatchp532
,suffer from being too longp532
,suffer
from being too shortp532
,suffer from an underflowp532
,suffer from an overflowp532
, orsuffer from a step mismatchp532
. A user agent prefilling a form
control'svaluep508
must not cause that control tosuffer from a pattern mismatchp532
either. Where possible given the control's constraints, user
agents must use the format given as canonical in the aforementioned table. Where it's not possible for the canonical format to be used, user agents
should use heuristics to attempt to convert values so that they can be used.
A user agent may allow the user to override an element'sautofill field namep521
, e.g. to change it from "offp517
" to "onp518
" to allow values to be
remembered and prefilled despite the page author's objections, or to always "offp517
", never remembering values.
More specifically, user agents may in particular consider replacing theautofill field namep521
of form controls that match the description given in the
first column of the following table, when theirautofill field namep521
is either "onp518
" or "offp517
", with the value given in the second cell of that row.
If this table is used, the replacements must be done intree order
, since all but the first row references theautofill field namep521
of earlier elements.
When the descriptions below refer to form controls being preceded or followed by others, they mean in the list oflisted elementsthat share the
sameform ownerp508
.
For example, if aselectp479
element only hasoptionp486
elements with values "Steve" and "Rebecca", "Jay", and "Bob", and has an
autofill field namep521
"given-namep518
", but the user agent's only idea for what to prefill the field with is "Evan", then the user agent
cannot prefill the field. It would not be conforming to somehow set theselectp479
element to the value "Evan", since the user could not
have done so themselves.
Example
For example, if the user agent knows that the user's middle name is "Ines", and attempts to prefill a form control that looks like this:
<input name=middle-initial maxlength=1 autocomplete="additional-name">
...then the user agent could convert "Ines" to "I" and prefill it that way.
Example
A more elaborate example would be with month values. If the user agent knows that the user's birthday is the 27th of July 2012, then it
might try to prefill all of the following controls with slightly different values, all driven from this information:
<input name=b type=month
autocomplete="bday">
2012-07
The day is dropped since theMonthp446
state only accepts a month/year combination.
<select name=c
autocomplete="bday">
<option>Jan
<option>Feb
...
<option>Jul
<option>Aug
...
</select>
July
The user agent picks the month from the listed options, either by noticing there are twelve options and picking
the 7th, or by recognising that one of the strings (three characters "Jul" followed by a newline and a space) is a
close match for the name of the month (July) in one of the user agent's supported languages, or through some
other similar mechanism.
<input name=a type=number
min=1 max=12
autocomplete="bday-month">
7
User agent converts "July" to a month number in the range 1..12, like the field.
<input name=a type=number
min=0 max=11
autocomplete="bday-month">
6
User agent converts "July" to a month number in the range 0..11, like the field.
<input name=a type=number
min=1 max=11
autocomplete="bday-month">
User agent doesn't fill in the field, since it can't make a good guess as to what the form expects.
Example
527
Form control
Newautofill field
namep521
aninputp434
element whosetypep436
attribute is in theTextp440
state that is followed by aninputp434
element whosetypep436
attribute is in the
Passwordp444
state
"usernamep518
"
aninputp434
element whosetypep436
attribute is in thePasswordp444
state that is preceded by aninputp434
element whoseautofill field namep521
is
"usernamep518
"
"current-
passwordp519
"
aninputp434
element whosetypep436
attribute is in thePasswordp444
state that is preceded by aninputp434
element whoseautofill field namep521
is
"current-passwordp519
"
"new-passwordp519
"
aninputp434
element whosetypep436
attribute is in thePasswordp444
state that is preceded by aninputp434
element whoseautofill field namep521
is
"new-passwordp519
"
"new-passwordp519
"
TheautocompleteIDL attribute, on getting, must return the element'sIDL-exposed autofill valuep521
, and on setting, mustreflectp89
the content
attribute of the same name.
Theinputp434
andtextareap489
elements define the following members in their DOM interfaces for handling their selection:
void select
();
attribute unsigned long? selectionStart
;
attribute unsigned long? selectionEnd
;
attribute DOMString? selectionDirection
;
void setRangeText
(DOMString replacement);
void setRangeText
(DOMString replacement, unsigned long start, unsigned long end, optional
SelectionMode
selectionMode = "preserve");
void setSelectionRange
(unsigned long start, unsigned long end, optional DOMString direction =
"preserve");
ThesetRangeTextp530
method uses the following enumeration:
enum SelectionMode {
"select
",
"start
",
"end
",
"preserve
", // default
};
These methods and attributes expose and control the selection ofinputp434
andtextareap489
text fields.
element.selectp529()
Selects everything in the text field.
element.selectionStartp529 [ =value]
Returns the offset to the start of the selection.
Can be set, to change the start of the selection.
element.selectionEndp530 [ =value]
Returns the offset to the end of the selection.
Can be set, to change the end of the selection.
element.selectionDirectionp530 [ =value]
Returns the current direction of the selection.
Note
IDL
IDL
4.10.20 APIs for the text field selections
528
Forinputp434
elements, calling these methods while theydon't applyp437
, and setting these attributes while theydon't applyp437
, must throw an
"InvalidStateError"
DOMException
; and getting these attributes while theydon't applyp437
must return null. Otherwise, they must act as
described below.
Forinputp434
elements, these methods and attributes must operate on the element'svaluep508
. Fortextareap489
elements, these methods and
attributes must operate on the element'sraw valuep490
.
Where possible, user interface features for changing the text selection ininputp434
andtextareap489
elements must be implemented in terms of
the DOM API described in this section, so that, e.g., all the same events fire.
The selections ofinputp434
andtextareap489
elements have adirection, which is eitherforward,backward, ornone. This direction is set when
the user manipulates the selection. The exact meaning of the selection direction depends on the platform.
Theselect()method must cause the contents of the text field to be fully selected, with the selection direction being none, if the platform support
selections with the directionnone, or otherwiseforward. The user agent must thenqueue a taskp843
tofire a simple eventp854
that bubbles named
selectp1155
at the element, using theuser interaction task sourcep846
as the task source.
In the case ofinputp434
elements, if the control has no text field, then the method must do nothing.
TheselectionStartattribute must, on getting, return the offset (in logical order) to the character that immediately follows the start of the
selection. If there is no selection, then it must return the offset (in logical order) to the character that immediately follows the text entry cursor.
On setting, it must act as if thesetSelectionRange()p530
method had been called, with the new value as the first argument; the current value of
theselectionEndp530
attribute as the second argument, unless the current value of theselectionEndp530
is less than the new value, in which
case the second argument must also be the new value; and the current value of theselectionDirectionp530
as the third argument.
Can be set, to change the direction of the selection.
The possible values are "forward", "backward", and "none".
element.setSelectionRangep530(start,end[,direction] )
Changes the selection to cover the given substring in the given direction. If the direction is omitted, it will be reset to be the platform
default (none or forward).
element.setRangeTextp530(replacement[,start,end[,selectionMode] ] )
Replaces a range of text with the new text. If thestartandendarguments are not provided, the range is assumed to be the selection.
The final argument determines how the selection should be set after the text has been replaced. The possible values are:
"selectp530"
Selects the newly inserted text.
"startp530"
Moves the selection to just before the inserted text.
"endp530"
Moves the selection to just after the selected text.
"preservep530"
Attempts to preserve the selection. This is the default.
On Windows, the direction indicates the position of the caret relative to the selection: aforwardselection has the caret at the end of the
selection and abackwardselection has the caret at the start of the selection. Windows has nononedirection. On Mac, the direction
indicates which end of the selection is affected when the user adjusts the size of the selection using the arrow keys with the Shift modifier:
the forward direction means the end of the selection is modified, and the backwards direction means the start of the selection is modified.
The none direction is the default on Mac, it indicates that no particular direction has yet been selected. The user sets the direction implicitly
when first adjusting the selection, based on which directional arrow key was used.
Note
For instance, in a user agent where<input type=color>p455
is rendered as a colour well with a picker, as opposed to a text field
accepting a hexadecimal colour code, there would be no text field, and thus nothing to select, and thus calls to the method are ignored.
Example
529
TheselectionEndattribute must, on getting, return the offset (in logical order) to the character that immediately follows the end of the selection. If
there is no selection, then it must return the offset (in logical order) to the character that immediately follows the text entry cursor.
On setting, it must act as if thesetSelectionRange()p530
method had been called, with the current value of theselectionStartp529
attribute
as the first argument, the new value as the second argument, and the current value of theselectionDirectionp530
as the third argument.
TheselectionDirectionattribute must, on getting, return the string corresponding to the current selection direction: if the direction isforward,
"forward"; if the direction isbackward, "backward"; and otherwise, "none".
On setting, it must act as if thesetSelectionRange()p530
method had been called, with the current value of theselectionStartp529
attribute
as the first argument, the current value of theselectionEndp530
attribute as the second argument, and the new value as the third argument.
ThesetSelectionRange(start, end, direction)method must set the selection of the text field to the sequence of characters starting
with the character at thestartth position (in logical order) and ending with the character at the(end-1)th position. Arguments greater than the length
of the value of the text field must be treated as pointing at the end of the text field. Ifendis less than or equal tostartthen the start of the selection
and the end of the selection must both be placed immediately before the character with offsetend. In UAs where there is no concept of an empty
selection, this must set the cursor to be just before the character with offsetend. The direction of the selection must be set tobackwardifdirection
is acase-sensitivep63
match for the string "backward",forwardifdirectionis acase-sensitivep63
match for the string "forward" or if the platform
does not support selections with the directionnone, andnoneotherwise (including if the argument is omitted). The user agent must thenqueue a
taskp843
tofire a simple eventp854
that bubbles namedselectp1155
at the element, using theuser interaction task sourcep846
as the task source.
ThesetRangeText(replacement, start, end, selectMode)method must run the following steps:
1. If the method has only one argument, then letstartandendhave the values of theselectionStartp529
attribute and the
selectionEndp530
attribute respectively.
Otherwise, letstart,endhave the values of the second and third arguments respectively.
2. Ifstartis greater thanend, then throw an"IndexSizeError"
DOMException
and abort these steps.
3. Ifstartis greater than the length of the value of the text field, then set it to the length of the value of the text field.
4. Ifendis greater than the length of the value of the text field, then set it to the length of the value of the text field.
5. Letselection startbe the current value of theselectionStartp529
attribute.
6. Letselection endbe the current value of theselectionEndp530
attribute.
7. Ifstartis less thanend, delete the sequence of characters starting with the character at thestartth position (in logical order) and ending
with the character at the(end-1)th position.
8. Insert the value of the first argument into the text of the value of the text field, immediately before thestartth character.
9. Letnew lengthbe the length of the value of the first argument.
10. Letnew endbe the sum ofstartandnew length.
11. Run the appropriate set of substeps from the following list:
If the fourth argument's value is "select"
Letselection startbestart.
Letselection endbenew end.
If the fourth argument's value is "start"
Letselection startandselection endbestart.
If the fourth argument's value is "end"
Letselection startandselection endbenew end.
If the fourth argument's value is "preserve" (the default)
1. Letold lengthbeendminusstart.
2. Letdeltabenew lengthminusold length.
530
Documents you may be interested
Documents you may be interested