| Jifty documentation | Contained in the Jifty distribution. |
Jifty::Web::Form::Field::Checkbox - Add checkboxes to your forms
Provide checked and value accessors, in addition to
Jifty::Web::Form::Field's default accessors. value defaults to
"1".
Renders the checkbox widget.
Renders value as a checkbox widget.
By default, javascript (such as onclick handlers) should not actually prevent browsers from placing the checkmark in the checkbox.
| Jifty documentation | Contained in the Jifty distribution. |
use warnings; use strict; package Jifty::Web::Form::Field::Checkbox; use base qw/Jifty::Web::Form::Field/; __PACKAGE__->mk_accessors(qw/checked value/);
sub accessors { shift->SUPER::accessors(), 'checked' , 'value' }
sub render_widget { my $self = shift; my $field = qq!<input type="hidden" name="@{[ $self->fallback_name ]}" value="0" />\n!; $field .= qq!<input!; $field .= qq! type="checkbox"!; $field .= qq! title="@{[ $self->title ]}"! if ($self->title); $field .= qq! name="@{[ $self->input_name ]}"!; $field .= qq! id="@{[ $self->element_id ]}"!; $field .= qq! value="@{[$self->value ||1]}"!; $field .= $self->_widget_class; $field .= qq! checked="checked"! if ($self->checked or $self->current_value); $field .= $self->javascript; $field .= qq! />\n!; Jifty->web->out($field); ''; }
sub render_value { my $self = shift; my $field .= qq!<input type="checkbox"!; $field .= qq! name="@{[ $self->input_name ]}"!; $field .= qq! title="@{[ $self->title ]}"! if ($self->title); $field .= qq! id="@{[ $self->element_id ]}"!; $field .= qq! value="@{[$self->value ||1]}"!; $field .= $self->_widget_class; $field .= qq! checked="checked"! if ($self->checked or $self->current_value); $field .= qq! disabled="disabled" readonly="readonly"!; $field .= qq! />\n!; Jifty->web->out($field); return ''; }
sub javascript_preempt { return 0; } 1;