2016-06-06 6 views
0

Ich habe derzeit ein Formular mit einem Absenden-Button, die ich deaktiviert lassen möchte, es sei denn, alle Kontrollkästchen in einer Gruppe von ihnen ist aktiviert. Momentan, egal was ich mache, ist die Schaltfläche nicht deaktiviert. Hier ist der Code Ich verwende:drupal 7 Staaten, setzen deaktiviert, wenn kein Kontrollkästchen in einer Gruppe aktiviert ist

$form['enrollments']['submit'] = array(
     '#type' => 'submit', 
     '#value' => t('Submit Change'), 
     '#states' => array(
     'disabled' => array(
      'input:checked' => array('length' => 0), 
    ), 
); 

Die Kontrollkästchen alle eine Schande Namen in Array-Form wie "Studenten [12345]". Wenn also eines dieser Kontrollkästchen aktiviert ist, sollte die Schaltfläche aktiviert sein. In Anbetracht des obigen Codes ist die Schaltfläche jedoch immer aktiviert.

+0

versuchen Sie es mit Javascript/jquery –

Antwort

0

Ich denke, diese Verbindung Ihr Problem lösen können: https://www.lullabot.com/articles/form-api-states

Auch können Sie diese verwenden, wenn Sie etwas auf Sichtbarkeit Kontrollkästchen zeigen wollen:

'#states' => array(
    'visible' => array(
    ':input[name="nameofselectororfield"]' => array('checked' => TRUE), 
), 
), 
0

Das ist für mich gearbeitet .. .

$form['submit'] = array(
    '#type' => 'submit', 
    '#value' => t('Submit'), 
    '#states' => array(
     'disabled' => array(
     ':input[name="student12345"]' => array('checked' => FALSE), 
    ), 
    ), 
); 
Verwandte Themen