Je vais essayer de répondre à votre autre question. Vous pouvez créer une paire d'éléments - une entrée de bouton radio et des étiquettes - et les attacher au DOM si nécessaire. Pour créer des boutons "homme" et "femme", vous pouvez procéder comme suit :
var button1 = new RadioButtonInputElement();
button1.name = "sex";
button1.value = "male";
button1.attributes['id'] = "sex_male";
var button1_label = new LabelElement();
button1_label.attributes['for'] = button1.id;
button1_label.text="Male";
var button2 = new RadioButtonInputElement();
button2.name = "sex";
button2.value = "female";
button2.attributes['id'] = "sex_female";
var button2_label = new LabelElement();
button2_label.attributes['for'] = button2.id;
button2_label.text="Female";
utiliser new RadioButtonInputElement()
pour créer une entrée radio ; utilisez new LabelElement()
pour créer l'étiquette d'accompagnement.
Ce code n'est pas particulièrement DRY ; si vous avez l'intention de générer un grand nombre de ces codes, vous pouvez le transformer en une fonction. Quelque chose comme ceci :
List createButtonWithLabel(name, value) {
var button = new RadioButtonInputElement();
button.name = name;
button.value = value;
button.attributes['id'] = "${name}_${value}";
var label = new LabelElement();
label.attributes['for'] = button.id;
label.text=value.toUpperCase();
return [button, label];
}
et ensuite l'utiliser comme ceci :
var form = new FormElement();
form.nodes.addAll(createButtonWithLabel('sex', 'male'));
form.nodes.addAll(createButtonWithLabel('sex', 'female'));
query('body').nodes.add(form);
Cela devrait vous donner un formulaire avec 2 boutons radio.