Jifty::Web::Form(3pm) User Contributed Perl Documentation Jifty::Web::Form(3pm)NAME
Jifty::Web::Form - Tools for rendering and dealing with HTML forms
METHODS
new ARGS
Creates a new Jifty::Web::Form. Arguments:
id The HTML id attribute given to the form. This is aliased to name. That is, name and id are always equal and changing one changes the
other.
class
The HTML class attribute given to the form.
name
The name given to the form. This is mostly for naming specific forms for testing.
call
All buttons in this form will act as continuation calls for the given continuation id.
disable_autocomplete
Disable browser autocomplete for this form. Jifty autocomplete will still work.
PRIVATE _init
Reinitialize this form.
name
The form name
call
The continuation id to call
actions
Returns a reference to a hash of Jifty::Action objects in this form keyed by moniker.
If you want to add actions to this form, use "add_action"
name [VALUE]
Gets or sets the HTML name given to the form element.
call [CONTID]
Gets or sets the continuation ID that will be called for this form.
is_open [BOOL]
This accessor returns true if Jifty is currently in the middle of rendering a form (if it's printed a <form> but not yet printed a </form>
tag.) Use this in your components to decide whether to open a form or not if you might be called from a template that opened the form for
you.
add_action PARAMHASH
Calls "new_action" in Jifty::Web with the paramhash given, and adds it to the form.
register_action ACTION
Adds "ACTION" as an action for this form. Called so that actions' form fields can register the action against the form they're being used
in.
has_action MONIKER
If this form has an action whose moniker is "MONIKER", returns it. Otherwise returns undef.
start
Renders the opening form tag.
submit MESSAGE, [PARAMETERS]
Renders a submit button with the text MESSAGE on it (which will be HTML escaped). Returns the empty string (for ease of use in
interpolation). Any extra PARAMETERS are passed to Jifty::Web::Form::Field::Clickable's constructor.
return MESSAGE, [PARAMETERS]
Renders a return button with the text MESSAGE on it (which will be HTML escaped). Returns the empty string (for ease of use in
interpolation). Any extra PARAMETERS are passed to Jifty::Web::Form::Field::Button's constructor.
end
Renders the closing form tag (including rendering errors for and registering all of the actions) After doing this, it resets its internal
state such that "start" may be called again.
print_action_registration MONIKER
Print out the action registration goo for this action _right now_, unless we've already done so.
next_page PARAMHASH
Set the page this form should go to on success. This simply creates a Jifty::Action::Redirect action; any parameters in the "PARAMHASH"
are passed as arguments to the Jifty::Action::Redirect action.
Returns an empty string so it can be included in forms
DESTROY
Checks to ensure that forms that were opened were actually closed, which is when actions are registered.
perl v5.14.2 2011-01-24 Jifty::Web::Form(3pm)
Check Out this Related Man Page
Jifty::Web::Form::Clickable(3pm) User Contributed Perl Documentation Jifty::Web::Form::Clickable(3pm)NAME
Jifty::Web::Form::Clickable - Some item that can be clicked on -- either a button or a link.
DESCRIPTION METHODS
accessors
Clickable adds "url", "escape_label", "continuation", "call", "returns", "submit", and "preserve_state" to the list of accessors and
mutators, in addition to those offered by "accessors" in Jifty::Web::Form::Element.
new PARAMHASH
Creates a new Jifty::Web::Form::Clickable object. Depending on the requirements, it may render as a link or as a button. Possible
parameters in the PARAMHASH are:
url Sets the page that the user will end up on after they click the button. Defaults to the current page.
label
The text on the clickable object.
tooltip
Additional information about the link target.
escape_label
If set to true, HTML escapes the content of the label and tooltip before displaying them. This is only relevant for objects that are
rendered as HTML links. The default is true.
continuation
The current continuation for the link. Defaults to the current continuation now, if there is one. This may be either a
Jifty::Continuation object, or the "id" of such.
call
The continuation to call when the link is clicked. This will happen after actions have run, if any. Like "continuation", this may be
a Jifty::Continuation object or the "id" of such.
returns
Passing this parameter implies the creation of a continuation when the link is clicked. It takes an anonymous hash of return location
to where the return value is pulled from -- that is, the same structure the "parameters" method takes.
See "query_parameters" in Jifty::Request::Mapper for details.
submit
A list of actions to run when the object is clicked. This may be an array reference or a single element; each element may either be a
moniker or, a Jifty::Action or a hashref with the keys 'action' and 'arguments'. An undefined value submits all actions in the form,
an empty list reference (the default) submits none.
In the most complex case, you have something like this:
submit => [
{ action => $my_action,
arguments => {
name => 'Default McName',
age => '23'
},
},
$my_other_action,
'some-other-action-moniker'
]
If you specify arguments in the submit block for a button, they will override any values from form fields submitted by the user.
preserve_state
A boolean; whether state variables are preserved across the link. Defaults to true if there are any AJAX actions on the link, false
otherwise.
parameters
A hash reference of query parameters that go on the link or button. These will end up being submitted exactly like normal query
parameters.
as_button
By default, Jifty will attempt to make the clickable into a link rather than a button, if there are no actions to run on submit.
Providing a true value for "as_button" forces generate to produce a Jifty::Web::Form::Clickable::InlineButton instead of a
Jifty::Web::Form::Link.
as_link
Attempt to rework a button into displaying as a link -- note that this only works in javascript browsers. Supplying both "as_button"
and "as_link" will work, and not as perverse as it might sound at first -- it allows you to make any simple GET request into a POST
request, while still appearing as a link (a GET request).
target
For things that start off as links, give them an html "target" attribute.
Anything from Jifty::Web::Form::Element
Note that this includes the "onclick" parameter, which allows you to attach javascript to your Clickable object, but be careful that
your Javascript looks like "return someFunction();", or you may get an unexpected error from your browser.
url [VALUE]
Gets or sets the page that the user will end up on after they click the button. Defaults to the current page.
label [VALUE]
Gets or sets the text on the clickable object.
escape_label [VALUE]
Gets or sets if the label is escaped. This is only relevant for objects that are rendered as HTML links. The default is true.
continuation [VALUE]
Gets or sets the current continuation for the link. Defaults to the current continuation now, if there is one. This may be either a
Jifty::Continuation object, or the "id" of such.
call [VALUE]
Gets or sets the continuation to call when the link is clicked. This will happen after actions have run, if any. Like "continuation",
this may be a Jifty::Continuation object or the "id" of such.
returns [VALUE]
Gets or sets the return value mapping from the continuation. See Jifty::Request::Mapper for details.
submit [VALUE]
Gets or sets the list of actions to run when the object is clicked. This may be an array reference or a single element; each element may
either be a moniker or a Jifty::Action. An undefined value submits all actions in the form, an empty list reference (the default) submits
none.
preserve_state [VALUE]
Gets or sets whether state variables are preserved across the link. Defaults to true if there are any AJAX actions on the link, false
otherwise.
parameter KEY VALUE
Sets the given HTTP parameter named "KEY" to the given "VALUE".
state_variable KEY VALUE
Sets the state variable named "KEY" to "VALUE".
region_fragment NAME PATH
Sets the path of the fragment named "NAME" to be "PATH".
region_argument NAME ARG VALUE
Sets the value of the "ARG" argument on the fragment named "NAME" to "VALUE".
parameters
Returns the generic list of HTTP form parameters attached to the link as a hash. Use of this is discouraged in favor or "post_parameters"
and "get_parameters".
post_parameters
Returns the hash of parameters as they would be needed on a POST request.
get_parameters
Returns the hash of parameters as they would be needed on a GET request.
complete_url
Returns the complete GET URL, as it would appear on a link.
as_link
Returns the clickable as a Jifty::Web::Form::Link, if possible. Use of this method is discouraged in favor of "generate", which can better
determine if a link or a button is more appropriate.
as_button
Returns the clickable as a Jifty::Web::Form::Field::InlineButton, if possible. Use of this method is discouraged in favor of "generate",
which can better determine if a link or a button is more appropriate.
generate
Returns a Jifty::Web::Form::Field::InlineButton or Jifty::Web::Form::Link, whichever is more appropriate given the parameters.
register_action ACTION
Registers the action if it isn't registered already, but only on the link. That is, the registration will not be seen by any other buttons
in the form.
perl v5.14.2 2011-04-13 Jifty::Web::Form::Clickable(3pm)