Autore Topic: CF5 - salvare il nome del dato da "dropdown menu" e non l'ID  (Letto 185 volte)

Offline alegrafic

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
ciao a tutti,


e da tempo che cerco una soluzione a questo problema ovvero in  CF5 - salvare il NOME del dato del dropdown menu e non l'ID


qualche suggerimento?


credo che bisogna passare tramite Javascript....




grazie a tutti...

Offline alegrafic

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo

Offline alegrafic

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:CF5 - salvare il nome del dato da "dropdown menu" e non l'ID
« Risposta #2 il: 25 Set 2017, 20:11:59 »
Ciao a tutti il codice da utilizzare per un singolo menu a tendina è:


es.

<?php
$color_array = array(
  1 => 'green',
  2 => 'blue',
  3 => 'red',
  4 => 'white'
);
$form->data['color_name'] = $color_array[$form->data['color']];
?>




mentre se sono multipli menu a tendina:

<?php
$color_array = array(
  1 => 'green',
  2 => 'blue',
  3 => 'red',
  4 => 'white'
);
$color_names = array();
foreach ( $form->data['colors'] as $v ) {
  $color_names[] = $color_array[$v];
}
$form->data['color_names'] = implode(', ', $color_names);
?>




il problema è che non so dove inserirli questi codici in particolare nell'esempio di questo tuorial
https://www.icagenda.it/multiple-select-dropdown-list-with-ajax.html


qualcuno potrebbe suggerirmi come fare?


ho la necessità che i campi REGIONE, PROVINCIA e COMUNE devono essere inviati tramite email non con il loro ID ma con il NOME ESTESO...


grazie a tutti

Offline alegrafic

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:CF5 - salvare il nome del dato da "dropdown menu" e non l'ID
« Risposta #3 il: 25 Set 2017, 23:51:37 »
ciao a tutti,


ho provato a mettere  in ON SUBMIT
un DB READ
faccio leggere la tabella aaa_province etc..


sotto al DB READ inserisco un CUSTOM CODE
con questo


<?php
$options = array();
 // no result was found
  foreach ( $form->data['Data9'] as $d ) {
    if($d['idProvincia'] ==   $form->data['province']){
$form->data['province']=  $d['nomeProvincia'];
  }
}
?>


l'idea è quella di scorrere tutti i record del MODEL ID che è Data9 infatti nel debugger mi mette tutte e 110 nome e id delle Regioni... [Data9] => Array (=> Array ( [idProvincia] => 1 [nomeProvincia] => Torino ) [1] => Array ( [idProvincia] => 2 [nomeProvincia] => Vercelli )


quindi se idProvincia della tabella del database è uguale al valore ID del form  $form->data['province']  allora  mi deve settare quella variabile $form->data['color_name'] del valore $d['nomeProvincia'] cioè del NOME DELLA PROVINCIA
SEMBRA FUNZIONARE...





grazie a tutti
« Ultima modifica: 26 Set 2017, 00:25:42 da alegrafic »

Offline alegrafic

  • Appassionato
  • ***
  • Post: 297
    • Mostra profilo
Re:CF5 - salvare il nome del dato da "dropdown menu" e non l'ID
« Risposta #4 il: 26 Set 2017, 00:25:01 »
ciao a tutti,


stessa cosa faccio per sovrascrivere il valore ID del dropdown menu COMUNE


leggo i dati con DB READ nell'evento onsubmit...
e sotto inserisco questo CUSTOM CODE:
<?php
$options = array();
 // no result was found
  foreach ( $form->data['Data9'] as $d ) {
    if($d['idComune'] ==  $form->data['comuni']){
$form->data['comuni']=  $d['nomeComune'];
  }
}

echo json_encode($options);
?>


il problema è come evitare tutto il confronto con tutti i migliaia di comuni italiani e prendere solo quella della Regione a confronto?


forse mi aiuta il campo CONDITIONS del DB READ
dove si scrive:

conditions array returned using PHP in array format, e.g: < ?php return array('field' => 'value'); ?>




Grazie a tutti per il supporto
« Ultima modifica: 26 Set 2017, 00:26:59 da alegrafic »

 

Torna su