#states arguments

1 reply [Last post]
christer
Offline
Last seen: 1 year 26 weeks ago
Joined: 2012-09-19

I would like to set a form item visible depending on something like this $a>4.
Is this possible using states in form api?

Christer

frostmar
Offline
Last seen: 6 years 29 weeks ago
Joined: 2011-06-11
This is how I do it

An Excerpt from one of my modules.

$form['show_sts_managed_user_checkbox'] = array(
  '#type' => 'hidden',
  '#value' => $user_has_administer_users_rights,
);

$form['sts_managed_user'] = array(
  '#title' => t('Allow administrators of STS Module to edit user'),
  '#type' => 'checkbox',
  '#default_value' => $sts_managed_user,
  '#states' => array(
    'visible' => array(
      ':input[name="show_sts_managed_user_checkbox"]'
        => array('value' => 'yes'),
    ),
  ),
);

The first assignment to the $form array picks up as it's value an ordinary PHP variable. If you replaced the line

#value => $user_has_administer_users_rights

with

#value => $a>4 ? 'yes' : 'no',

it should work for you.

I'll leave to to contextualise the rest of the code :)

Hope this helps.

Martin.

Add to playlist

Add to , or

Add to new playlist:

Add to playlist
This is a member-only feature
But, it's easy to become a member

Add to cart:


Loading...
Contact us

Below are the supported keyboard shortcuts for our video player.

space
Start / stop video
shift
Go to next video
shift
Go to previous video
Increase or decrease player speed by 20%
Skip ahead or go back by 15 seconds
1...9
Jump to a percentage (2 is 20%, for example)
f
Toggle full screen
Videos Pricing More Search
BuildAModule Logo Icon BuildAModule Logo Icon
Become a member!
$29
1 month
$156
6 months
10% off
$276
12 months
20% off
All memberships come with the following:
24 / 7 access to the entire 1800+ video library
An innovative video player with a rolling transcript
Extensive Drupal and cross-platform training
A thorough and thoughtful training style
Progress tracking
Take notes on specific video sections
Intuitive multi-user management
How many users?
user
Go solo with a single user, or give multiple team members access through one account and get discounts by bundling multiple users into a single membership.