mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-07 02:28:35 +00:00
a15303b938
Especially after the change to use semantic linefeeds (7b23c76b
),
the diffs are large and it's hard to figure out what diff is the
result of the linefeed change and which diff is the result of an
edit.
By updating the docs, it will make the edits easier to understand
from the diff.
This commit used the LyX binary to write the new .lyx files since
lyx2lyx does not apply semantic linefeeds.
I used the following command:
./development/tools/updatedocs.py [path to 'lyx' binary]
A few documents were not updated (e.g., the command sequence used
failed because a dialog about a missing dependency was shown).
I did not update Additional.lyx for any language since it is
undergoing changes. I also didn't change anything in doc/fr since JP
is working on some of those. I also didn't change doc/ru since it
appears Yuriy already updated those.
3482 lines
49 KiB
Plaintext
3482 lines
49 KiB
Plaintext
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
|
\lyxformat 612
|
|
\begin_document
|
|
\begin_header
|
|
\save_transient_properties true
|
|
\origin /systemlyxdir/examples/Modules/
|
|
\textclass scrartcl
|
|
\begin_preamble
|
|
% used to check for needed LaTeX packages
|
|
\usepackage{ifthen}
|
|
|
|
% check for package insdljs
|
|
% used for JavScript code
|
|
\newboolean{insdljs}
|
|
\IfFileExists{insdljs.sty}
|
|
{\usepackage[pdftex]{insdljs}
|
|
\setboolean{insdljs}{true}
|
|
\pdfcatalog{/AA \the\pdflastobj\space 0 R}}
|
|
{\setboolean{insdljs}{false}}
|
|
|
|
\ifinsdljs % only execute if package insdljs is installed
|
|
|
|
\begin{insDLJS}[exaaae]{exaaae}{JavaScript}
|
|
|
|
function validateTime(){
|
|
this.delay = true;
|
|
if((event.value == "u") || (event.value == "unlimited")) {
|
|
this.getField("from").display = display.hidden;
|
|
this.getField("until").display = display.hidden;
|
|
} else {
|
|
this.getField("from").display = display.visible;
|
|
this.getField("until").display = display.visible;
|
|
this.getField("from").setFocus();
|
|
}
|
|
this.delay = false;
|
|
}
|
|
|
|
function checkNumber() {
|
|
event.rc = true;
|
|
if (!Number(event.value))
|
|
{
|
|
app.alert("Value must be a number!");
|
|
event.value = "";
|
|
} else {
|
|
event.target.textColor = color.green;
|
|
}
|
|
|
|
}
|
|
|
|
\end{insDLJS}
|
|
|
|
\fi % end \ifinsdljs
|
|
|
|
% if pdflatex is used
|
|
\usepackage{ifpdf}
|
|
\ifpdf
|
|
|
|
% set fonts for nicer pdf view
|
|
\IfFileExists{lmodern.sty}
|
|
{\usepackage{lmodern}}{}
|
|
|
|
\fi % end if pdflatex is used
|
|
% Added by lyx2lyx
|
|
\setlength{\parskip}{\medskipamount}
|
|
\setlength{\parindent}{0pt}
|
|
\end_preamble
|
|
\options BCOR8mm,pagesize
|
|
\use_default_options false
|
|
\begin_modules
|
|
pdfform
|
|
\end_modules
|
|
\maintain_unincluded_children no
|
|
\language english
|
|
\language_package default
|
|
\inputencoding utf8
|
|
\fontencoding auto
|
|
\font_roman "default" "default"
|
|
\font_sans "default" "default"
|
|
\font_typewriter "default" "default"
|
|
\font_math "auto" "auto"
|
|
\font_default_family default
|
|
\use_non_tex_fonts false
|
|
\font_sc false
|
|
\font_roman_osf false
|
|
\font_sans_osf false
|
|
\font_typewriter_osf false
|
|
\font_sf_scale 100 100
|
|
\font_tt_scale 100 100
|
|
\use_microtype false
|
|
\use_dash_ligatures false
|
|
\graphics default
|
|
\default_output_format pdf2
|
|
\output_sync 0
|
|
\bibtex_command bibtex
|
|
\index_command default
|
|
\paperfontsize 12
|
|
\spacing single
|
|
\use_hyperref true
|
|
\pdf_title "Description of the module pdfcomment"
|
|
\pdf_author "Uwe Stöhr"
|
|
\pdf_subject "PDF form"
|
|
\pdf_keywords "LyX, PDF forms, hyperref"
|
|
\pdf_bookmarks true
|
|
\pdf_bookmarksnumbered true
|
|
\pdf_bookmarksopen true
|
|
\pdf_bookmarksopenlevel 2
|
|
\pdf_breaklinks false
|
|
\pdf_pdfborder false
|
|
\pdf_colorlinks false
|
|
\pdf_backref false
|
|
\pdf_pdfusetitle false
|
|
\pdf_quoted_options "pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false, urlbordercolor={1 0 0}"
|
|
\papersize a4
|
|
\use_geometry false
|
|
\use_package amsmath 1
|
|
\use_package amssymb 1
|
|
\use_package cancel 1
|
|
\use_package esint 1
|
|
\use_package mathdots 1
|
|
\use_package mathtools 1
|
|
\use_package mhchem 1
|
|
\use_package stackrel 1
|
|
\use_package stmaryrd 1
|
|
\use_package undertilde 1
|
|
\cite_engine basic
|
|
\cite_engine_type default
|
|
\biblio_style plain
|
|
\use_bibtopic false
|
|
\use_indices false
|
|
\paperorientation portrait
|
|
\suppress_date true
|
|
\justification true
|
|
\use_refstyle 0
|
|
\use_minted 0
|
|
\use_lineno 0
|
|
\notefontcolor #0000ff
|
|
\index Index
|
|
\shortcut idx
|
|
\color #008000
|
|
\end_index
|
|
\secnumdepth 3
|
|
\tocdepth 2
|
|
\paragraph_separation indent
|
|
\paragraph_indentation default
|
|
\is_math_indent 0
|
|
\math_numbering_side default
|
|
\quotes_style english
|
|
\dynamic_quotes 0
|
|
\papercolumns 1
|
|
\papersides 1
|
|
\paperpagestyle default
|
|
\tablestyle default
|
|
\tracking_changes false
|
|
\output_changes false
|
|
\change_bars false
|
|
\postpone_fragile_content false
|
|
\html_math_output 0
|
|
\html_css_as_file 0
|
|
\html_be_strict false
|
|
\docbook_table_output 0
|
|
\docbook_mathml_prefix 1
|
|
\end_header
|
|
|
|
\begin_body
|
|
|
|
\begin_layout Begin PDF Form
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
action=mailto:forms@lyx.test?subject=The submitted PDF form,
|
|
method=post
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Title
|
|
Description of the module PDF Form
|
|
\end_layout
|
|
|
|
\begin_layout Author
|
|
Uwe Stöhr
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Note
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
To export all parts of this document to PDF the \SpecialChar LaTeX
|
|
-package
|
|
\series bold
|
|
insdljs
|
|
\series default
|
|
must be installed.
|
|
If it is not installed you can export the document anyway but the example in the section about dynamic form elements will not appear in the output.
|
|
|
|
\series bold
|
|
insdljs.sty
|
|
\series default
|
|
is part of the
|
|
\series bold
|
|
acrotex
|
|
\series default
|
|
bundle available on CTAN.
|
|
As the name suggests,
|
|
the style files of the bundle produce pdf files which will work correctly
|
|
\emph on
|
|
only
|
|
\emph default
|
|
with Acrobat DC.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
By loading the module PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Form the whole document or a part of it can be made a PDF form.
|
|
You can add all possible form elements like text fields buttons etc.
|
|
This document describes how this is done.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Preparation
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:Preparation"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
At first load the module PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Form in the document settings of your file.
|
|
To make the whole document a form,
|
|
insert the environment
|
|
\family sans
|
|
Begin
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Form
|
|
\family default
|
|
from \SpecialChar LyX
|
|
's dropdown menu at the beginning of the document.
|
|
If only a part of the document should be a form,
|
|
add
|
|
\family sans
|
|
Begin
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Form
|
|
\family default
|
|
at the position where the form should start.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
It is only possible to have one form in a PDF file!
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If the form data should be submitted to a server or the like,
|
|
then you must specify the URL as parameter of the
|
|
\family sans
|
|
Begin
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Form
|
|
\family default
|
|
environment.
|
|
This is done by using the menu
|
|
\family sans
|
|
Insert\SpecialChar menuseparator
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Form
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Parameters
|
|
\family default
|
|
.
|
|
For example in this document the following was inserted to the parameter inset:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
|
|
\series bold
|
|
action=mailto:forms@lyx.test?subject=The submitted PDF form,
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
method=post
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This sends the form data as email to
|
|
\emph on
|
|
forms@lyx.test
|
|
\emph default
|
|
when the user presses the submit button.
|
|
The email subject will be
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
The submitted PDF form
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
and the submit method is
|
|
\series bold
|
|
post
|
|
\series default
|
|
.
|
|
(The other possible method would be
|
|
\series bold
|
|
get
|
|
\series default
|
|
.) For more about submitting see sec.
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "subsec:Submit-button"
|
|
nolink "false"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Newpage newpage
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Form elements
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
There are 6
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
possible elements in a PDF form:
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Text field
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A text field is added by inserting the custom inset
|
|
\family sans
|
|
TextField
|
|
\family default
|
|
using the menu
|
|
\family sans
|
|
Insert\SpecialChar menuseparator
|
|
Custom
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Insets
|
|
\family default
|
|
.
|
|
Write inside the inset the label for the text field that will be printed in the PDF output before the field.
|
|
Here is an example:
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=customer
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Enter your name here:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You must also specify a name for text fields.
|
|
To do this set the cursor into its
|
|
\family sans
|
|
Params
|
|
\family default
|
|
inset and insert the parameter
|
|
\series bold
|
|
name=customer
|
|
\series default
|
|
(where
|
|
\series bold
|
|
customer
|
|
\series default
|
|
is the field name).
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Using the same name for several text fields results in an automatic duplication of the inserted text.
|
|
This is for example useful if the user should input a date that should appear at different places in the form.
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
Here are 2
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
fields as example:
|
|
Fill one and see that the other one will be filled automatically when you click outside of the field:
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=identic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=identic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
Special characters should be avoided in element names.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
All form fields can be customized by adding parameters.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Here is a customized multiline text field with a width of 60
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
% of the text width,
|
|
3
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
cm height and a proposed content:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=customer2,
|
|
multiline,
|
|
width=0.6
|
|
\backslash
|
|
textwidth,
|
|
height=3cm,
|
|
value={proposed text}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Enter your name here:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
It is highly recommended to use a uniform layout of all fields in a form.
|
|
See sec.
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:Form-element-customization"
|
|
nolink "false"
|
|
|
|
\end_inset
|
|
|
|
how this is done.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Check box
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A check box is added by inserting the custom inset
|
|
\family sans
|
|
CheckBox
|
|
\family default
|
|
.
|
|
Write inside the inset the label for the box.
|
|
Here is an example:
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CheckBox
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=age
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Are you older than 18 years?
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You must specify also for check boxes a name.
|
|
Insert e.
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
g.
|
|
\begin_inset space \space{}
|
|
\end_inset
|
|
|
|
the parameter
|
|
\series bold
|
|
name=age
|
|
\series default
|
|
(where
|
|
\series bold
|
|
age
|
|
\series default
|
|
is the name) into the
|
|
\family sans
|
|
Params
|
|
\family default
|
|
inset.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Choice menu
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A choice menu is added by inserting the custom inset
|
|
\family sans
|
|
ChoiceMenu
|
|
\family default
|
|
.
|
|
A label for the inset is added by using the menu
|
|
\family sans
|
|
Insert\SpecialChar menuseparator
|
|
Label
|
|
\family default
|
|
.
|
|
The different choices are inserted to the inset as comma-separated list.
|
|
There are 3
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
choice menu types:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Radio Only one choice can be selected
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Combo The choices are listed in a combo box (dropdown list) but the user is allowed to input something that is not in the predefined list.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Popdown All choices are listed below each other.
|
|
If the menu is not high enough a scroll bar is automatically added.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To determine the choice menu type one uses the parameter
|
|
\series bold
|
|
radio
|
|
\series default
|
|
,
|
|
|
|
\series bold
|
|
combo
|
|
\series default
|
|
or
|
|
\series bold
|
|
popdown
|
|
\series default
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Here is an example for the radio type:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
radio,
|
|
name=radio
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
male=m,
|
|
female=f
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Sex:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Here is an example for the combo type:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
combo,
|
|
name=combo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Albania=Al,
|
|
Armenia=Ar,
|
|
Azerbaidschan=Az
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Country:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Here is an example for the popdown type:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
popdown,
|
|
name=country
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Albania=Al,
|
|
Armenia=Ar,
|
|
Azerbaidschan=Az
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Country:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You must also specify a name for choice menus.
|
|
Insert for example the parameter
|
|
\series bold
|
|
name=country
|
|
\series default
|
|
(where
|
|
\series bold
|
|
country
|
|
\series default
|
|
is the name) into the
|
|
\family sans
|
|
Params
|
|
\family default
|
|
inset.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
It is recommended to add a short name for every choice to be able to access them and to know which one was chosen by the user.
|
|
This is done by adding
|
|
\series bold
|
|
=name
|
|
\series default
|
|
behind each choice (where
|
|
\series bold
|
|
name
|
|
\series default
|
|
is the choice name).
|
|
For example the radio type example contains this choice list:
|
|
|
|
\series bold
|
|
male=m,
|
|
female=f
|
|
\series default
|
|
.
|
|
If the user chose
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
male
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
you know that he chose the choice
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
m
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
With the name you can also preset/propose e.g.
|
|
\begin_inset space \space{}
|
|
\end_inset
|
|
|
|
the choice
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
male
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
by adding the parameter
|
|
\series bold
|
|
default=m
|
|
\series default
|
|
.
|
|
Here is an example:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
radio,
|
|
name=sex,
|
|
default=m
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
male=m,
|
|
female=f
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Sex:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Push button
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A push button is added by inserting the custom inset
|
|
\family sans
|
|
PushButton
|
|
\family default
|
|
.
|
|
Write inside the inset the label for the button.
|
|
Here is an example:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex PushButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Don't click on this button or your fridge will be destroyed!!!
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The action that is triggered by pressing the button is specified by JavaScript code.
|
|
To do this,
|
|
add the parameter
|
|
\series bold
|
|
onclick={}
|
|
\series default
|
|
and insert the JavaScript code between the braces.
|
|
For info about JavaScript,
|
|
see its documentation,
|
|
|
|
\begin_inset CommandInset citation
|
|
LatexCommand cite
|
|
key "JavaScript"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
In the following example this JavaScript code was used:
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\series bold
|
|
app.alert(
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
What the hell?
|
|
Now you destroyed your fridge.
|
|
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Congratulations.
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
)
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex PushButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
onclick={app.alert(
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
What the hell?
|
|
Now you destroyed your fridge.
|
|
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Congratulations.
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
)}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Don't click on this button or your fridge will be destroyed!!!
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
The outer quotes are part of the JavaScript code and must therefore be inserted as \SpecialChar TeX
|
|
code!
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A common usage for push buttons is to open a weblink.
|
|
Such a button is created by inserting a hyperlink as button text.
|
|
Here is an example:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex PushButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "Information how to fill out this form"
|
|
target "https://wiki.lyx.org"
|
|
literal "false"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To get rid of the predefined frame for weblinks add this to the additional options in the document settings under
|
|
\family sans
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
properties
|
|
\family default
|
|
:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
|
|
\series bold
|
|
urlbordercolor={1 0 0}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
if your push button border color is red (the default),
|
|
otherwise use the same color definition as for your push button border color.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Submit button
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "subsec:Submit-button"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A submit button is used to submit the form data to a server.
|
|
It is added by inserting the custom inset
|
|
\family sans
|
|
SubmitButton
|
|
\family default
|
|
.
|
|
The label for the button is written into the inset.
|
|
Here is an example:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex SubmitButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=submit1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Send your data via email
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The submit button creates a forms data format (FDF) file (file extension *.fdf) which is then submitted.
|
|
The FDF file contains only the form data.
|
|
They can later only be applied to a PDF form if all elements in the form have a name.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
You can only use a submit button if you specified the submit method and a target in the inset
|
|
\family sans
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Form
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Parameters
|
|
\family default
|
|
!
|
|
See sec.
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:Preparation"
|
|
nolink "false"
|
|
|
|
\end_inset
|
|
|
|
for the description.
|
|
If there are no specifications you will get \SpecialChar LaTeX
|
|
errors.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Reset button
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A reset button is used to reset all form elements to the initial state.
|
|
It is added by inserting the custom inset
|
|
\family sans
|
|
ResetButton
|
|
\family default
|
|
.
|
|
The label for the button is written into the inset.
|
|
Here is an example:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex ResetButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=reset1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Reset the form
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Form element customization
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:Form-element-customization"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Since all form elements should look uniform,
|
|
one can determine their layout using the following styles:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Text
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Field
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Check
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Box
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
List
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Box
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style affects all choice menu types
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Combo
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Box
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style affects only the combo box style
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Popdown
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Box
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style affects only the popdown box style
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Radio
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Box
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style affects only the radio box style
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Push
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Button
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Submit
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Button
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Reset
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Button
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
Style
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The content of the styles is a comma-separated list of parameters.
|
|
The possible parameters are listed in sec.
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
6.2
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Forms optional parameters
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
of the documentation of the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
hyperref
|
|
\series default
|
|
,
|
|
|
|
\begin_inset CommandInset citation
|
|
LatexCommand cite
|
|
key "hyperref"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
It is important that the parameter
|
|
\emph on
|
|
print
|
|
\emph default
|
|
is always part of the definition.
|
|
Otherwise the elements will not appear in the PDF.
|
|
The defined style is applied to all elements following the definition.
|
|
\end_layout
|
|
|
|
\begin_layout Subsubsection*
|
|
Here are some examples:
|
|
\end_layout
|
|
|
|
\begin_layout Text Field Style
|
|
print,
|
|
bordercolor=red,
|
|
borderstyle=U,
|
|
backgroundcolor=lightgray,
|
|
color=lime,
|
|
maxlen=10,
|
|
align=2,
|
|
charsize=16pt
|
|
\begin_inset Note Note
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
The parameter
|
|
\series bold
|
|
borderstyle
|
|
\series default
|
|
can be
|
|
\series bold
|
|
U
|
|
\series default
|
|
(underlined),
|
|
|
|
\series bold
|
|
S
|
|
\series default
|
|
(solid),
|
|
|
|
\series bold
|
|
D
|
|
\series default
|
|
(dashed),
|
|
|
|
\series bold
|
|
B
|
|
\series default
|
|
(bevel) or
|
|
\series bold
|
|
I
|
|
\series default
|
|
(inverted bevel).
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Check Box Style
|
|
print,
|
|
borderstyle=S,
|
|
checkboxsymbol=
|
|
\backslash
|
|
ding{55}
|
|
\end_layout
|
|
|
|
\begin_layout Combo Box Style
|
|
print,
|
|
bordercolor={0.33 0.66 0.33},
|
|
borderstyle=D
|
|
\end_layout
|
|
|
|
\begin_layout Popdown Box Style
|
|
print,
|
|
menulength=2
|
|
\begin_inset Note Note
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
The parameter
|
|
\series bold
|
|
menulength
|
|
\series default
|
|
determines the number of displayed menu entries.
|
|
It does not work currently because of a bug in the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
hyperref
|
|
\series default
|
|
.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Radio Box Style
|
|
print,
|
|
borderstyle=I,
|
|
radiosymbol=3
|
|
\end_layout
|
|
|
|
\begin_layout Push Button Style
|
|
print,
|
|
borderstyle=B,
|
|
bordercolor=lime
|
|
\end_layout
|
|
|
|
\begin_layout Submit Button Style
|
|
print,
|
|
borderwidth=0,
|
|
bordercolor=white
|
|
\end_layout
|
|
|
|
\begin_layout Reset Button Style
|
|
print,
|
|
bordercolor=lime
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Text field with gray background,
|
|
lime text color,
|
|
a red border only below the field,
|
|
right alignment,
|
|
16
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
pt font size and a limitation for maximal 10
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
characters to insert:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Enter your name here:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
To see in
|
|
\emph on
|
|
Adobe Reader
|
|
\emph default
|
|
and
|
|
\emph on
|
|
Acrobat
|
|
\emph default
|
|
custom background colors you must disable in these programs the highlighting of form fields.
|
|
(Option
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Show border hover color for fields
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
)
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Check box with normal border and symbol
|
|
\backslash
|
|
ding{55}:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CheckBox
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Are you older than 18 years?
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The symbol is either specified as number or with the command
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\series bold
|
|
|
|
\backslash
|
|
ding{number}
|
|
\series default
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
where
|
|
\series bold
|
|
number
|
|
\series default
|
|
is one of the possible numbers listed in Table
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
2 of the documentation of the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
pifont
|
|
\series default
|
|
,
|
|
|
|
\begin_inset CommandInset citation
|
|
LatexCommand cite
|
|
key "pifont"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Combo choice menu with dashed,
|
|
colored border where the last entry is preselected:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
combo,
|
|
name=combo2,
|
|
default=Az
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Albania=Al,
|
|
Armenia=Ar,
|
|
Azerbaidschan=Az
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Country:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Popdown choice menu where the second entry is preselected:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
popdown,
|
|
name=country2,
|
|
default=Ar
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Albania=Al,
|
|
Armenia=Ar,
|
|
Azerbaidschan=Az
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Country:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
The parameters
|
|
\series bold
|
|
borderstyle B
|
|
\series default
|
|
and
|
|
\series bold
|
|
I
|
|
\series default
|
|
and
|
|
\series bold
|
|
color
|
|
\series default
|
|
have no effect for popdown choice menus.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Radio choice menu with inverted bevel border and symbol number
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
3 as checkmark:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
radio,
|
|
name=radio2
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
male=m,
|
|
female=f
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Sex:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
The parameters
|
|
\series bold
|
|
backgroundcolor
|
|
\series default
|
|
,
|
|
|
|
\series bold
|
|
color
|
|
\series default
|
|
,
|
|
|
|
\series bold
|
|
height
|
|
\series default
|
|
and
|
|
\series bold
|
|
width
|
|
\series default
|
|
have no effect for push,
|
|
submit and reset buttons.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
As workaround use a colored box and/or color the box text.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Push button with a bevel border and colored text:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex PushButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
onclick={app.alert(
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Why do you click this?
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
)}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Frameless
|
|
position "t"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "t"
|
|
use_parbox 0
|
|
use_makebox 1
|
|
width ""
|
|
special "none"
|
|
height "1in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "lime"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\color red
|
|
Don't click on this button!!!
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset VSpace bigskip
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Submit button without border,
|
|
with cyan background and increased height:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex SubmitButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=submit2
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Frameless
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 0
|
|
use_makebox 1
|
|
width "6cm"
|
|
special "none"
|
|
height "1in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "cyan"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Box Frameless
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 1
|
|
use_makebox 0
|
|
width "4.5cm"
|
|
special "none"
|
|
height "4in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "none"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Send your data via mail
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset VSpace bigskip
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Reset button with a width of 7
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
cm:
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex ResetButton
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=reset2
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Frameless
|
|
position "t"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "t"
|
|
use_parbox 0
|
|
use_makebox 1
|
|
width "7cm"
|
|
special "none"
|
|
height "1in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "none"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Reset the form
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Newpage newpage
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
PDF action buttons
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
One often needs basic actions to be done by the PDF viewer program,
|
|
for example to print the form.
|
|
Such PDF program-specific actions can be triggered by adding inserting the custom inset
|
|
\family sans
|
|
PDFAction
|
|
\family default
|
|
.
|
|
The PDF viewers
|
|
\emph on
|
|
Acrobat
|
|
\emph default
|
|
and
|
|
\emph on
|
|
Adobe Reader
|
|
\emph default
|
|
can handle all possible actions while other PDF viewers might only support some of them.
|
|
However,
|
|
all PDF viewers support the basic things like printing,
|
|
save
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
as,
|
|
view in fullscreen etc..
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To specify the action insert its name to the
|
|
\family sans
|
|
Action
|
|
\family default
|
|
inset.
|
|
A list with possible action names can be found in sec.
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
5
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Acrobat-specific behavior
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
of the documentation of the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
hyperref
|
|
\series default
|
|
,
|
|
|
|
\begin_inset CommandInset citation
|
|
LatexCommand cite
|
|
key "hyperref"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Here are some examples:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Printing:
|
|
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Print
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Print the document
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
Save
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
as:
|
|
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
SaveAs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Save document as
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
View
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
in
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
fullscreen:
|
|
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
FullScreen
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
View the form in fullscreen
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Action button customization
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "subsec:Action-button-customization"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Customizing the action buttons requires the usage of boxes because things like the width,
|
|
height and border separation cannot be specified as button parameters.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The easiest way to customize the buttons is to fill it with a custom box.
|
|
For example the button should be 5
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
cm wide and have the height of 2
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
lines.
|
|
Then create this parbox:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Box Frameless
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 1
|
|
use_makebox 0
|
|
width "5cm"
|
|
special "none"
|
|
height "2in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "none"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\noindent
|
|
Save form as
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
inside a
|
|
\family sans
|
|
PDFAction
|
|
\family default
|
|
inset.
|
|
This is the result:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
SaveAs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Frameless
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 1
|
|
use_makebox 0
|
|
width "5cm"
|
|
special "none"
|
|
height "2in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "none"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Save form as
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout PDF Link Setup
|
|
pdfborder={0 0 0}
|
|
\begin_inset Note Note
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Sets the thickness of the predefined link border to zero as described below.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To customize the border color,
|
|
border thickness and the distance to the border one changes the border settings of the box.
|
|
An example with a 4
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
pt thick,
|
|
teal border and 3
|
|
\begin_inset space \thinspace{}
|
|
\end_inset
|
|
|
|
pt border separation :
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
SaveAs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Boxed
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 1
|
|
use_makebox 0
|
|
width "5cm"
|
|
special "none"
|
|
height "2in"
|
|
height_special "totalheight"
|
|
thickness "4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "teal"
|
|
backgroundcolor "white"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\noindent
|
|
Save form as
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To customize the border thickness,
|
|
add the command
|
|
\series bold
|
|
pdfborder={0 0 t}
|
|
\series default
|
|
to the additional options in the document settings under
|
|
\family sans
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
properties
|
|
\family default
|
|
and replace
|
|
\series bold
|
|
t
|
|
\series default
|
|
with a number that is the thickness in pixels.
|
|
If you want to change the border thickness only for certain buttons,
|
|
use the environment
|
|
\family sans
|
|
PDF
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
link
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
setup
|
|
\family default
|
|
before the button and insert there the command
|
|
\series bold
|
|
pdfborder
|
|
\series default
|
|
.
|
|
The default value of
|
|
\series bold
|
|
pdfborder
|
|
\series default
|
|
is
|
|
\series bold
|
|
{0 0 1}
|
|
\series default
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
|
|
\series bold
|
|
pdfborder
|
|
\series default
|
|
affects all link types,
|
|
not only the action links.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout PDF Link Setup
|
|
pdfborder={0 0 4}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
An example with a 4
|
|
\begin_inset space ~
|
|
\end_inset
|
|
|
|
pixel thick border:
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
SaveAs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Frameless
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 1
|
|
use_makebox 0
|
|
width "5cm"
|
|
special "none"
|
|
height "2in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "none"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\noindent
|
|
Save form as
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To change the border color use the command
|
|
\series bold
|
|
menubordercolor={r g b}
|
|
\series default
|
|
where
|
|
\series bold
|
|
r
|
|
\series default
|
|
,
|
|
|
|
\series bold
|
|
g
|
|
\series default
|
|
and
|
|
\series bold
|
|
b
|
|
\series default
|
|
are numbers between 0 and 1 for the colors red,
|
|
green and blue.
|
|
The default value of
|
|
\series bold
|
|
menubordercolor
|
|
\series default
|
|
is
|
|
\series bold
|
|
{1 0 0}
|
|
\series default
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout PDF Link Setup
|
|
pdfborder={0 0 1},
|
|
menubordercolor={0.1 0.9 0.5}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
An example with
|
|
\series bold
|
|
menubordercolor={0.1 0.9 0.5}
|
|
\series default
|
|
:
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
SaveAs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Frameless
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 1
|
|
use_makebox 0
|
|
width "5cm"
|
|
special "none"
|
|
height "2in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "none"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\noindent
|
|
Save form as
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To change the background color use a colored box.
|
|
\end_layout
|
|
|
|
\begin_layout PDF Link Setup
|
|
pdfborder={0 0 0}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
An example without a border and with lime background color:
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex PDFAction
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
SaveAs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Box Frameless
|
|
position "c"
|
|
hor_pos "c"
|
|
has_inner_box 1
|
|
inner_pos "c"
|
|
use_parbox 1
|
|
use_makebox 0
|
|
width "5cm"
|
|
special "none"
|
|
height "2in"
|
|
height_special "totalheight"
|
|
thickness "0.4pt"
|
|
separation "3pt"
|
|
shadowsize "4pt"
|
|
framecolor "black"
|
|
backgroundcolor "lime"
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\noindent
|
|
Save form as
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout PDF Link Setup
|
|
pdfborder={0 0 1},
|
|
menubordercolor={1 0 0}
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Dynamic form elements
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
It is also possible to have dynamic form elements.
|
|
This means that depending on the actions of the user elements can (dis)appear or change their appearance.
|
|
To use this feature,
|
|
add these lines to your LaTeX preamble:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
|
|
\series bold
|
|
|
|
\backslash
|
|
usepackage[pdftex]{insdljs}
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\backslash
|
|
pdfcatalog{/AA
|
|
\backslash
|
|
the
|
|
\backslash
|
|
pdflastobj
|
|
\backslash
|
|
space 0 R}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Then add the necessary JavaScript code to your document LaTeX preamble or as \SpecialChar TeX
|
|
code to your document.
|
|
For info about JavaScript,
|
|
see its documentation,
|
|
|
|
\begin_inset CommandInset citation
|
|
LatexCommand cite
|
|
key "JavaScript"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
|
|
\backslash
|
|
ifinsdljs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Note Note
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
The following section will only be displayed when the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
insdljs
|
|
\series default
|
|
is installed.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
For the following choice menu this JavaScript code was used:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset listings
|
|
lstparams "language=TeX"
|
|
inline false
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
|
|
\backslash
|
|
begin{insDLJS}[exaaae]{exaaae}{JavaScript}
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
function validateTime(){
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
this.delay = true;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
if((event.value == "u") || (event.value == "unlimited")) {
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
this.getField("from").display = display.hidden;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
this.getField("until").display = display.hidden;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
} else {
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
this.getField("from").display = display.visible;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
this.getField("until").display = display.visible;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
this.getField("from").setFocus();
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
}
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
this.delay = false;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
}
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
|
|
\backslash
|
|
end{insDLJS}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Greyedout
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\series bold
|
|
Note:
|
|
|
|
\series default
|
|
|
|
\emph on
|
|
All
|
|
\emph default
|
|
JavaScript functions must be inserted into the same
|
|
\family sans
|
|
insDLJS
|
|
\family default
|
|
environment.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The
|
|
\family sans
|
|
Parameters
|
|
\family default
|
|
of the following choice menu are
|
|
\begin_inset Newline newline
|
|
\end_inset
|
|
|
|
|
|
\series bold
|
|
name=contract,radio,default=tl,validate={validateTime();}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex ChoiceMenu
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=contract,radio,default=tl,validate={validateTime();}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
term-limited=tl,
|
|
unlimited=u
|
|
\begin_inset Argument 2
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
Job contract:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset VSpace defskip
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Tabular
|
|
<lyxtabular version="3" rows="3" columns="2">
|
|
<features tabularvalignment="middle">
|
|
<column alignment="left" valignment="top">
|
|
<column alignment="center" valignment="top">
|
|
<row>
|
|
<cell alignment="left" valignment="top" usebox="none">
|
|
\begin_inset Text
|
|
|
|
\begin_layout Plain Layout
|
|
From:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
</cell>
|
|
<cell alignment="center" valignment="top" usebox="none">
|
|
\begin_inset Text
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=from,width=10em
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
</cell>
|
|
</row>
|
|
<row>
|
|
<cell alignment="center" valignment="top" usebox="none">
|
|
\begin_inset Text
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
</cell>
|
|
<cell alignment="center" valignment="top" usebox="none">
|
|
\begin_inset Text
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset VSpace -1.5mm
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
</cell>
|
|
</row>
|
|
<row>
|
|
<cell alignment="left" valignment="top" usebox="none">
|
|
\begin_inset Text
|
|
|
|
\begin_layout Plain Layout
|
|
Until:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
</cell>
|
|
<cell alignment="center" valignment="top" usebox="none">
|
|
\begin_inset Text
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=until,width=10em
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
</cell>
|
|
</row>
|
|
</lyxtabular>
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset VSpace bigskip
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To check and assure that the user only enters a number to a text field you can for example use this JavaScript code:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset listings
|
|
lstparams "language=TeX"
|
|
inline false
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
function checkNumber() {
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
event.rc = true;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
if (!Number(event.value)) {
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
app.alert("Value must be a number!");
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
event.value = "";
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
} else {
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
event.target.textColor = color.green;
|
|
\end_layout
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
An example text field:
|
|
|
|
\begin_inset Flex TextField
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
\begin_inset Argument 1
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
name=onlyNumbers,
|
|
align=1,
|
|
validate={checkNumber();}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
|
|
\backslash
|
|
else
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Note Note
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
The following will be displayed when the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
insdljs
|
|
\series default
|
|
is not installed:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You need to install the package
|
|
\series bold
|
|
insdljs
|
|
\series default
|
|
to see the content of this section in the output.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset ERT
|
|
status collapsed
|
|
|
|
\begin_layout Plain Layout
|
|
|
|
|
|
\backslash
|
|
fi
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout End PDF Form
|
|
\begin_inset Note Note
|
|
status open
|
|
|
|
\begin_layout Plain Layout
|
|
keep this empty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
General notes
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Submitting and applying data requires that all form elements have a name.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Creating a PDF form requires pdf\SpecialChar TeX
|
|
or Lua\SpecialChar TeX
|
|
.
|
|
Use therefore either the \SpecialChar LyX
|
|
export formats
|
|
\family sans
|
|
PDF (pdflatex)
|
|
\family default
|
|
or
|
|
\family sans
|
|
PDF (LuaTeX)
|
|
\family default
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
To see in
|
|
\emph on
|
|
Adobe Reader
|
|
\emph default
|
|
and
|
|
\emph on
|
|
Acrobat
|
|
\emph default
|
|
custom background colors you must disable in these programs the highlighting of form fields.
|
|
(Option
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Show border hover color for fields
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
)
|
|
\end_layout
|
|
|
|
\begin_layout Bibliography
|
|
\begin_inset CommandInset bibitem
|
|
LatexCommand bibitem
|
|
key "JavaScript"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "JavaScript reference"
|
|
target "https://developer.mozilla.org/en/docs/Web/JavaScript/Reference"
|
|
literal "false"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Bibliography
|
|
\begin_inset CommandInset bibitem
|
|
LatexCommand bibitem
|
|
key "hyperref"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "Documentation"
|
|
target "https://ctan.org/tex-archive/macros/latex/contrib/hyperref/doc/manual.pdf"
|
|
literal "false"
|
|
|
|
\end_inset
|
|
|
|
of the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
hyperref
|
|
\end_layout
|
|
|
|
\begin_layout Bibliography
|
|
\begin_inset CommandInset bibitem
|
|
LatexCommand bibitem
|
|
key "pifont"
|
|
literal "true"
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "Documentation"
|
|
target "https://ctan.org/tex-archive/macros/latex/required/psnfss/psnfss2e.pdf"
|
|
literal "false"
|
|
|
|
\end_inset
|
|
|
|
of the \SpecialChar LaTeX
|
|
package
|
|
\series bold
|
|
pifont
|
|
\end_layout
|
|
|
|
\end_body
|
|
\end_document
|