Puncte:0

Cum să adăugați valoarea opțiunii personalizate pentru a selecta câmpul în formularul web și să le salvați odată cu trimiterea?

drapel ng

Am un formular web Drupal 7 când trebuie să populez dinamic opțiunile unui câmp selectat. În prezent, folosesc hook_form_alter() și setez valorile așa:

<?php
 $form['submitted']['left']['select_field_name']['#options'] = $new_options;
</php>

Acest lucru funcționează pentru afișarea noilor opțiuni la crearea formularului web, dar valorile nu sunt salvate cu formularul.

Știu că există un cârlig hook_webform_select_options_info() pentru a crea opțiuni predefinite, dar nu necesită niciun parametru, așa că nu am cum să transmit o valoare din formularul web pentru a-i spune cum să creeze dinamic opțiunile.

Există vreo modalitate de a crea o listă de opțiuni de selectare dinamică și de a salva valorile care nu erau în lista originală de valori de selectare a formularului web?

Alireza Tabatabaeian avatar
drapel cn
dacă opțiunile din $new_options nu sunt incluse în setările select_field_name, atunci acestea vor fi ignorate în etapa de validare a trimiterii formularului web, așa că trebuie să le aveți pe toate în setările elementului dvs.
quantumized avatar
drapel ng
Alireza, cum pot obține opțiunile din setări dacă sunt generate dinamic în hook_form_alter()?
Puncte:0
drapel cn

De asemenea, puteți utiliza un element de câmp text mai degrabă decât un element Select , iar apoi în hook_form_alter modificați tipul elementului pentru a selecta și aplica opțiunile dorite, în acest caz, formularul web nu va ignora valoarea de intrare deoarece nu există nicio restricție pentru câmpul de text ( dacă nu este setat niciun regex sau...)

Puncte:0
drapel ng

Am rezolvat această problemă populând toate opțiunile posibile prin hook_webform_selection_options() și apoi resetând opțiunile din hook_form_alter() pentru a le elimina pe cele de care nu am nevoie pentru acea instanță.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.