-#LyX 2.1 created this file. For more info see http://www.lyx.org/
-\lyxformat 474
+#LyX 2.2 created this file. For more info see http://www.lyx.org/
+\lyxformat 503
\begin_document
\begin_header
+\origin /systemlyxdir/examples/
\textclass scrartcl
\begin_preamble
-% to be able to use custom colors
-\usepackage[svgnames,rgb]{xcolor}
-
-% ------------------------------------
% used to check for needed LaTeX packages
\usepackage{ifthen}
% used for JavScript code
\newboolean{insdljs}
\IfFileExists{insdljs.sty}
- {\usepackage{insdljs}
+ {\usepackage[pdftex]{insdljs}
\setboolean{insdljs}{true}}
{\setboolean{insdljs}{false}}
\pdfcatalog{/AA \the\pdflastobj\space 0 R}
-\begin{insDLJS}[exaaae]{exaaae}{JavaScript}
+
+\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("to").display = display.hidden;
- } else {
- this.getField("from").display = display.visible;
- this.getField("to").display = display.visible;
- this.getField("from").setFocus();
- }
- this.delay = false;
+ this.getField("from").display = display.hidden;
+ this.getField("to").display = display.hidden;
+ } else {
+ this.getField("from").display = display.visible;
+ this.getField("to").display = display.visible;
+ this.getField("from").setFocus();
+ }
+ this.delay = false;
}
-\end{insDLJS}
+
+ 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}
\language_package default
\inputencoding auto
\fontencoding global
-\font_roman default
-\font_sans default
-\font_typewriter default
-\font_math 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_osf false
-\font_sf_scale 100
-\font_tt_scale 100
+\font_sf_scale 100 100
+\font_tt_scale 100 100
\graphics default
-\default_output_format default
+\default_output_format pdf2
\output_sync 0
\bibtex_command bibtex
\index_command default
status open
\begin_layout Plain Layout
-action=mailto:forms@lyx.test?subject={The submitted PDF form},method=post
+action=mailto:forms@lyx.test?subject=The submitted PDF form, method=post
\end_layout
\end_inset
status open
\begin_layout Plain Layout
-To export all parts of this document to PDF the LaTeX-package
+To export all parts of this document to PDF the \SpecialChar LaTeX
+-package
\series bold
insdljs
\series default
Form
\family default
- from LyX's dropdown menu at the beginning of the document.
+ 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_layout Standard
If the form data should be submitted to a server or the like, then you must
- specify the URL to where it should be submitted as parameter of the
+ specify the URL as parameter of the
\family sans
Begin
\begin_inset space ~
environment.
This is done by using the menu
\family sans
-Insert\SpecialChar \menuseparator
+Insert\SpecialChar menuseparator
PDF
\begin_inset space ~
\end_inset
\begin_layout Standard
\series bold
-action=mailto:forms@lyx.test?subject={The submitted PDF form},
+action=mailto:forms@lyx.test?subject=The submitted PDF form,
\begin_inset Newline newline
\end_inset
\emph on
forms@lyx.test
\emph default
-.
- The email subject is
+ when the user presses the submit button.
+ The email subject will be
\begin_inset Quotes eld
\end_inset
\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"
+
+\end_inset
+
+.
\end_layout
\begin_layout Standard
\family default
using the menu
\family sans
-Insert\SpecialChar \menuseparator
+Insert\SpecialChar menuseparator
Custom
\begin_inset space ~
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Standard
You must also specify a field name for text fields: Set the cursor into
- the inset and use the menu
+ its
\family sans
-Insert\SpecialChar \menuseparator
-PDF
-\begin_inset space ~
-\end_inset
-
-form
-\begin_inset space ~
-\end_inset
-
-parameters
+Params
\family default
-.
+ inset.
There insert for example the parameter
\series bold
name=customer
customer
\series default
is the field name).
- Only if your text field has a label and no parameters the specification
- of the name can be omitted.
\end_layout
\begin_layout Standard
-All form fields can be customized by adding a parameter inset to them.
- To do this, set the cursor into the field inset and use the menu
-\family sans
-Insert\SpecialChar \menuseparator
-PDF
-\begin_inset space ~
+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
-form
+Here are 2
\begin_inset space ~
\end_inset
-parameters
-\family default
-.
+fields as example: Fill one and see that the other one will also be filled
+ automatically:
+\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
-\begin_layout Standard
-\begin_inset Note Greyedout
+\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
+
-\series bold
-Note:
-\series default
- All braces and brackets in form parameters must be inserted as TeX code!
\end_layout
\end_inset
\end_layout
\begin_layout Standard
-Here is a customized multiline text field with a width of 5
+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 and a proposed content:
+cm height and a proposed content:
\begin_inset VSpace defskip
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-name=customer2, width=5cm, multiline, width=0.6
+name=customer2, multiline, width=0.6
\backslash
textwidth, height=3cm, value={Testman}
\end_layout
\begin_inset CommandInset ref
LatexCommand ref
-reference "sec:Form-field-and"
+reference "sec:Form-field-customization"
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\end_layout
\begin_layout Standard
-You must also specify a field name for check boxes: Set the cursor into
- the inset and use the menu
-\family sans
-Insert\SpecialChar \menuseparator
-PDF
-\begin_inset space ~
-\end_inset
-
-form
-\begin_inset space ~
-\end_inset
-
-parameters
-\family default
-.
- There insert for example the parameter
+You must also specify a field name for check boxes: Insert for example the
+ parameter
\series bold
name=age
\series default
\series bold
age
\series default
- is the field name).
- Only if your check box has a label and no parameters the specification
- of the name can be omitted.
+ is the field name) into the
+\family sans
+Params
+\family default
+ inset.
\end_layout
\begin_layout Subsection
ChoiceMenu
\family default
.
- The label is inserted into the
+ A label for the inset is added by using the menu
\family sans
+Insert\SpecialChar menuseparator
Label
\family default
- inset.
- The choices are inserted to the inset as comma-separated list.
+.
+ Insert the label text into this inset.
+\begin_inset Newline newline
+\end_inset
+
+The different choices are inserted to the inset as comma-separated list.
There are 3
\begin_inset space ~
\end_inset
\end_layout
\begin_layout Standard
-To determine the choice menu type, set the cursor into the inset and use
- the menu
-\family sans
-Insert\SpecialChar \menuseparator
-PDF
-\begin_inset space ~
-\end_inset
-
-form
-\begin_inset space ~
-\end_inset
-
-parameters
-\family default
-.
- There insert the parameter
+To determine the choice menu type, add the parameter
\series bold
radio
\series default
\begin_layout Standard
Here is an example for the radio type:
+\begin_inset VSpace defskip
+\end_inset
+
+
\begin_inset Newline newline
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-radio
+radio, name=radio
\end_layout
\end_inset
\begin_layout Standard
Here is an example for the combo type:
+\begin_inset VSpace defskip
+\end_inset
+
+
\begin_inset Newline newline
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-combo
+combo, name=combo
\end_layout
\end_inset
\begin_layout Standard
Here is an example for the popdown type:
+\begin_inset VSpace defskip
+\end_inset
+
+
\begin_inset Newline newline
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\end_layout
\begin_layout Standard
-\begin_inset Note Greyedout
-status open
-
-\begin_layout Plain Layout
-
-\series bold
-Note:
-\series default
- For the popdown type you must always specify a field name: Add to the
-\family sans
-PDF
-\begin_inset space ~
-\end_inset
-
-form
-\begin_inset space ~
-\end_inset
-
-parameters
-\family default
- for example the parameter
+You must also specify a field name for choice menus: Insert for example
+ the parameter
\series bold
name=country
\series default
\series bold
country
\series default
- is the field name).
-\end_layout
-
-\end_inset
-
-
+ is the field 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
-
+ them and to know which one was chosen by the user.
+ This is done by adding
\series bold
=name
\series default
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\series bold
Note:
\series default
- Due to a bug in the LaTeX package
+ Due to a bug in the \SpecialChar LaTeX
+ package
\series bold
hyperref
\series default
\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:
-\begin_inset Newline newline
+\begin_inset Newpage newpage
\end_inset
-\begin_inset Flex PushButton
-status open
-
-\begin_layout Plain Layout
-
-Don't click on this button or your fridge will be destroyed!!!
\end_layout
-\end_inset
-
-
+\begin_layout Subsection
+Push button
\end_layout
\begin_layout Standard
-The action that is triggered by pressing the button is specified by JavaScript
- code.
- To specify it, set the cursor into the inset and use the menu
+A push button is added by inserting the custom inset
\family sans
-Insert\SpecialChar \menuseparator
-PDF
-\begin_inset space ~
-\end_inset
-
-form
-\begin_inset space ~
-\end_inset
-
-parameters
+PushButton
\family default
.
- There insert the parameter
-\series bold
-onclick={}
-\series default
- and write the JavaScript code between the braces.
+ Write inside the inset the label for the button.
+ Here is an example:
\end_layout
\begin_layout Standard
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-onclick={app.alert("What the hell? Now you destroyed your fridge.
- Congratulations.")}
+
\end_layout
\end_inset
\end_layout
\begin_layout Standard
-For info about JavaScript, see its documentation,
+The action that is triggered by pressing the button is specified by JavaScript
+ code.
+ To specify it, 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"
\end_inset
.
-\end_layout
-
-\begin_layout Standard
-A common usage for pus buttons is to open a weblink.
- Such a button is created by inserting the command
-\series bold
-
-\backslash
-href
-\series default
- into the button inset.
-
-\series bold
-
-\backslash
-href
-\series default
- is used in the scheme
+ In the following example this JavaScript code was used:
\begin_inset Newline newline
\end_inset
\series bold
+app.alert(
+\begin_inset ERT
+status collapsed
-\backslash
-href{link target}{text}
+\begin_layout Plain Layout
+
+"
\end_layout
-\begin_layout Standard
-In the following button this code was used:
-\begin_inset Newline newline
\end_inset
+What the hell? Now you destroyed your fridge.
+ Congratulations.
+\begin_inset ERT
+status collapsed
-\series bold
+\begin_layout Plain Layout
-\backslash
-href{http://wiki.lyx.org}{Information how to fill out this form}
+"
+\end_layout
+
+\end_inset
+
+)
\end_layout
\begin_layout Standard
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.
+ Congratulations.
+\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
+ All quote characters in form parameters must be inserted as \SpecialChar TeX
+ code!
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+A common usage for pus buttons is to open a weblink.
+ Such a button is created by inserting a hyperlink into the button inset.
+ 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 "http://wiki.lyx.org"
+
+\end_inset
-\backslash
-href{http://wiki.lyx.org}{Information how to fill out this form}
\end_layout
\end_inset
\begin_layout Subsection
Submit button
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Submit-button"
+
+\end_inset
+
+
\end_layout
\begin_layout Standard
.
Write inside the inset the label for the button.
Here is an example:
-\begin_inset Newline newline
-\end_inset
-
+\end_layout
+\begin_layout Standard
\begin_inset Flex SubmitButton
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\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 only be applied to a PDF form if all fields in the form have a
+ name.
+\end_layout
+
\begin_layout Standard
\begin_inset Note Greyedout
status open
\end_inset
for the description.
- If there are no specifications you will get LaTeX errors!
+ If there are no specifications you will get \SpecialChar LaTeX
+ errors!
\end_layout
\end_inset
Note:
\series default
If you have more than one submit button in your document you must specify
- a name for each of them to avoid LaTeX errors! For example write
+ a name for each of them to avoid \SpecialChar LaTeX
+ errors! For example add
\series bold
name=submit1
\series default
.
Write inside the inset the label for the button.
Here is an example:
-\begin_inset Newline newline
-\end_inset
-
+\end_layout
+\begin_layout Standard
\begin_inset Flex ResetButton
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
Note:
\series default
If you have more than one reset button in your document you must specify
- a name for each of them to avoid LaTeX errors! For example write
+ a name for each of them to avoid \SpecialChar LaTeX
+ errors! For example add
\series bold
-name=submit1
+name=reset1
\series default
(where
\series bold
-submit1
+reset1
\series default
is the button name).
\end_layout
\end_layout
\begin_layout Section
-PDF viewer 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 viewer programs
-\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 viewer programs 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 actions 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 LaTeX package
-\series bold
-hyperref
-\series default
-,
-\begin_inset CommandInset citation
-LatexCommand cite
-key "hyperref"
-
-\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 Section
-Form field and button customization
+Form field customization
\begin_inset CommandInset label
LatexCommand label
-name "sec:Form-field-and"
+name "sec:Form-field-customization"
\end_inset
\begin_inset Quotes erd
\end_inset
- of the documentation of the LaTeX package
+ of the documentation of the \SpecialChar LaTeX
+ package
\series bold
hyperref
\series default
\end_layout
\begin_layout Text Field Style
-print, bordercolor=red,borderstyle=U, backgroundcolor=lightgray, color=lime,
+print, bordercolor=red, borderstyle=U, backgroundcolor=lightgray, color=lime,
maxlen=10, align=2, charsize=16pt
\end_layout
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
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
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-combo, default=Az
+combo, name=combo2, default=Az
\end_layout
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-radio
+radio, name=radio2
\end_layout
\end_inset
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-onclick={app.alert("Why do you click this?")}
+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
-\backslash
-colorbox{lime}{
-\backslash
-textcolor{red}{Don't click on this button!!!}}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
-As workaround use the command
-\series bold
+As workaround use a colored box and/or color the box text.
+\end_layout
-\backslash
-colorbox
+\begin_layout Standard
+\begin_inset Note Greyedout
+status open
+
+\begin_layout Plain Layout
+
+\series bold
+Note
\series default
- as described in sec.
+ that the
+\series bold
+height
+\series default
+and
+\series bold
+width
+\series default
+ has no effect for push, submit and reset buttons.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+As workaround a box.
+\end_layout
+
+\begin_layout Itemize
+Submit button without border, with cyan background color 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 1
+use_makebox 0
+width "5cm"
+special "none"
+height "4in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "cyan"
+status open
+
+\begin_layout Plain Layout
+Send your data via mail
+\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
- 5.7
-\begin_inset Quotes eld
+cm:
+\begin_inset VSpace defskip
\end_inset
-Colored Boxes
-\begin_inset Quotes erd
+
+\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
- in LyX's
+
+\end_layout
+
+\begin_layout Section
+PDF viewer 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 viewer programs
\emph on
-EmbeddedObjects
+Acrobat
+\emph default
+ and
+\emph on
+Adobe Reader
\emph default
- manual and
+ can handle all possible actions while other PDF viewers might only support
+ some of them.
+ However, all PDF viewer programs 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 actions 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"
-\backslash
-textcolor
+\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 4
+\begin_inset space \thinspace{}
+\end_inset
+
+cm wide and have the height of 2 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 "4cm"
+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 "4cm"
+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 Standard
+To customize the border color, add the command
+\series bold
+menubordercolor={r g b}
\series default
- that is used is used in the scheme
-\begin_inset Newline newline
+ to the additional options in the document settings under
+\family sans
+PDF
+\begin_inset space ~
+\end_inset
+
+properties
+\family default
+ and replace
+\series bold
+r
+\series default
+,
+\series bold
+g
+\series default
+ and
+\series bold
+b
+\series default
+ with a number between 0 and 1 for the colors red, green and blue.
+ If you want to change the border color only for certain buttons, use the
+ layout
+\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
+menubordercolor
+\series default
+.
+ The default value of
+\series bold
+menubordercolor
+\series default
+ is
\series bold
-
-\backslash
-textcolor{color}{characters to color}
+{1 0 0}
\series default
+.
+\end_layout
-\begin_inset Newline newline
-\end_inset
+\begin_layout PDF Link Setup
+menubordercolor={0.1 0.9 0.5}
+\end_layout
-In the button above this code was used:
+\begin_layout Standard
+An example with
+\series bold
+menubordercolor={0.1 0.9 0.5}
+\series default
+:
\begin_inset Newline newline
\end_inset
-\family sans
-
-\backslash
-colorbox{lime}{
-\backslash
-textcolor{red}{Don't click on this button!!!}}
-\end_layout
-
-\begin_layout Standard
-\begin_inset Note Greyedout
+\begin_inset Flex PDFAction
status open
\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
-\series bold
-Note
-\series default
- that the
-\series bold
-height
-\series default
-has no effect for push, submit and reset buttons.
+\begin_layout Plain Layout
+SaveAs
\end_layout
\end_inset
-\end_layout
+\begin_inset Box Frameless
+position "c"
+hor_pos "c"
+has_inner_box 1
+inner_pos "c"
+use_parbox 1
+use_makebox 0
+width "4cm"
+special "none"
+height "2in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
-\begin_layout Standard
-As workaround use
-\series bold
+\begin_layout Plain Layout
+\noindent
+Save form as
+\end_layout
-\backslash
-raisebox
-\series default
- as described in sec.
-\begin_inset space \thinspace{}
\end_inset
- 5.6.2
-\begin_inset Quotes eld
-\end_inset
-Vertical Alignment
-\begin_inset Quotes erd
-\end_inset
+\end_layout
- in LyX's
-\emph on
-EmbeddedObjects
-\emph default
- manual.
- In the button below this code was used:
-\begin_inset Newline newline
\end_inset
-\family sans
+\end_layout
-\backslash
-raisebox{-0.8cm}{}
-\backslash
-raisebox{1cm}{}Send your data via mail
+\begin_layout Standard
+To change the border width use the command
+\series bold
+pdfborder={0 0 w}
+\series default
+ where
+\series bold
+w
+\series default
+ is the width in pixels.
+ The default value of
+\series bold
+pdfborder
+\series default
+ is
+\series bold
+{0 0 1}
+\series default
+.
\end_layout
\begin_layout Standard
\begin_layout Plain Layout
\series bold
-Note
+Note:
\series default
- that the
+
\series bold
-width
+pdfborder
\series default
-has no effect for push, submit and reset buttons.
+ affects all link types, not only the menu links.
\end_layout
\end_inset
\end_layout
-\begin_layout Standard
-As workaround use
-\series bold
-
-\backslash
-makebox
-\series default
- as described in sec.
-\begin_inset space \thinspace{}
-\end_inset
-
- 5.6.2
-\begin_inset Quotes eld
-\end_inset
-
-Vertical Alignment
-\begin_inset Quotes erd
-\end_inset
-
- in LyX's
-\emph on
-EmbeddedObjects
-\emph default
- manual.
- In the reset button below this code was used:
-\begin_inset Newline newline
-\end_inset
-
-
-\family sans
-
-\backslash
-makebox[7cm]{Reset the form}
+\begin_layout PDF Link Setup
+pdfborder={0 0 4}, menubordercolor={1 1 0}
\end_layout
-\begin_layout Itemize
-Submit button with cyan background color and increased height:
-\begin_inset VSpace defskip
+\begin_layout Standard
+An example with a 4
+\begin_inset space ~
\end_inset
-
+pixel thick yellow border:
\begin_inset Newline newline
\end_inset
-\begin_inset Flex SubmitButton
+\begin_inset Flex PDFAction
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-name=submit2
+SaveAs
\end_layout
\end_inset
-\backslash
-colorbox{cyan}{
-\backslash
-raisebox{-0.8cm}{}
-\backslash
-raisebox{1cm}{}Send your data via mail}
+\begin_inset Box Frameless
+position "c"
+hor_pos "c"
+has_inner_box 1
+inner_pos "c"
+use_parbox 1
+use_makebox 0
+width "4cm"
+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
-\begin_inset VSpace bigskip
+\end_layout
+
\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_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 ResetButton
+\begin_inset Flex PDFAction
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-name=reset2
+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 "4cm"
+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
-\backslash
-makebox[7cm]{Reset the form}
\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 fields
\end_layout
\end_layout
\begin_layout Standard
-Then add the necessary JavaScript code to your preamble or as TeX code to
- your document.
+Then add the necessary JavaScript code to your document \SpecialChar LaTeX
+ preamble or as
+ \SpecialChar TeX
+ code to your document.
For info about JavaScript, see its documentation,
\begin_inset CommandInset citation
LatexCommand cite
status open
\begin_layout Plain Layout
-The following section will only be displayed when the LaTeX package
+The following section will only be displayed when the \SpecialChar LaTeX
+ package
\series bold
insdljs
\series default
\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 funtions must be inserted into the same
+\family sans
+insDLJS
+\family default
+ environment.
+\end_layout
+
+\end_inset
+
+
\end_layout
\begin_layout Standard
\series bold
-name=contract,radio,value=tl,default=tl,validate={validateTime();}
+name=contract,radio,default=tl,validate={validateTime();}
\end_layout
\begin_layout Standard
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-name=contract,radio,value=tl,default=tl,validate={validateTime();}
+name=contract,radio,default=tl,validate={validateTime();}
\end_layout
\end_inset
\begin_layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="3" columns="2">
-<features rotate="0" tabularvalignment="middle">
+<features tabularvalignment="middle">
<column alignment="left" valignment="top">
<column alignment="center" valignment="top">
<row>
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
status open
\begin_layout Plain Layout
-
\begin_inset Argument 1
status open
\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
status open
\begin_layout Plain Layout
-The following will be displayed when the LaTeX package
+The following will be displayed when the \SpecialChar LaTeX
+ package
\series bold
insdljs
\series default
\end_layout
\begin_layout Section
-General hints
+General notes and hints
\end_layout
\begin_layout Itemize
-To be able to use all kinds of colors and color definitions you must load
- the LaTeX package
-\series bold
-xcolor
-\series default
- in the document preamble this way:
-\begin_inset Newline newline
-\end_inset
-
+Submitting and applying data requires that all form fields have a name.
+\end_layout
-\series bold
+\begin_layout Itemize
+All braces, brackets, backslashes and quote characters in form parameters
+ must be inserted as \SpecialChar TeX
+ code!
+\end_layout
-\backslash
-usepackage[svgnames,rgb]{xcolor}
+\begin_layout Itemize
+Creating a PDF form requires pdflatex or lualatex.
+ Use either the \SpecialChar LyX
+ export formats
+\family sans
+PDF (pdflatex)
+\family default
+ or
+\family sans
+PDF (Lua\SpecialChar TeX
+)
+\family default
+.
\end_layout
\begin_layout Itemize
\end_inset
- of the LaTeX package
+ of the \SpecialChar LaTeX
+ package
\series bold
hyperref
-\series default
-.
\end_layout
\begin_layout Bibliography
\end_inset
- of the LaTeX package
+ of the \SpecialChar LaTeX
+ package
\series bold
pifont
-\series default
-.
\end_layout
\end_body