Ich habe 3 checkboxen in einer Gruppe, kann ich es irgendwie einstellen, dass man nur eine von den 3 boxen auswählen kann und die anderen beiden danach nicht mehr aktivierbar sind?
Wenn Sie dem Benutzer nur eine Auswahlmöglichkeit lassen wollen, sollten Sie darüber nachdenken ob eine Radio-Group nicht die bessere wahl wäre. Sollten Sie aus welchen Gründen auch immer trotzdem lieber die Checkbox Gruppe verwenden wollen, können Sie das tun indem Sie eine eigene Validierung in Ihre Checkbox Gruppe einfügen.
In dem "Validierungs"-Bereich Ihres Checkbox elementes müssen Sie den Radio-Button "Custom" auswählen. In dem nun geöffneten Textbereich müssen Sie nun noch den untenstehenden Code einfügen. Anschließend müssen Sie noch einige änderungen der "Benötigten Änderungen" weiter unten ausführen.
function ff_mygroup_validation(element, message) { // initial checked states for your box, add more or less, depending on your amount of checkboxes of your group // if you have checkboxes that are initially checked, set the corresponding value here to "true" var checkedBoxes = [false,false,false]; for(var i = 0; i < document.ff_form140.elements.length; i++) { if(document.ff_form140.elements[i].type == "checkbox" && document.ff_form140.elements[i].name == "ff_nm_mygroup[]") { if( document.ff_form140.elements[i].checked ) { checkedBoxes[i] = true; } else { checkedBoxes[i] = false; } } } // the rules apply here // add or remove rule depending on your amount of checkboxes if(checkedBoxes[0] && ( checkedBoxes[1] || checkedBoxes[2] ) ) return 'You can only check box 1'; if(checkedBoxes[1] && ( checkedBoxes[0] || checkedBoxes[2] ) ) return 'You can only check box 2'; if(checkedBoxes[2] && ( checkedBoxes[0] || checkedBoxes[1] ) ) return 'You can only check box 3'; return ''; } // end validation
Benötigten Änderungen
- Tauschen Sie jedes "ff_form140" im obriigen Code mit dem FormNamen Ihres Formulars aus. Diesen können Sie im Quelltext Ihres Formulars finden indem Sie nach diesem Code suchen:
ff_processor.form_id='
Der Name steht direkt rechts daneben .
- Ersetzen Sie jedes "mygroup" im obigen Code mit dem Namen Ihres Checkbox-Groupm Elementes (der Name, nicht der Titel!).
- Beachten Sie auch die Auskommentierten hinweise die im Code stehen!.