Joomla.it Forum
Componenti per Joomla! => Gestione Form => : dmiao83 13 Feb 2015, 17:57:19
-
Buona sera, vorrei far visualizzare un messaggio in un text box dopo aver selezionato un valore in un dropdown.
Nella fattispecie ho 4 dropdown che in cascata si attivano correttamente, il text box si dovrebbe "attivare" solo dopo il 4 dropdown e un confronto di valori nel db.
Nell'ultimo dropdown ho inserito il seguente event: ON != (campo vuoto) Set Dynamic options check ajax4
on ajax4
Custom code
<?php
$results = '';
$query = "SELECT uniq_id, id_scuola, id_cod, id_anno, n_prog FROM #__a_ammin WHERE id_scuola='".$_GET['scuola']."' && id_cod='".$_GET['progetto']."' && id_anno='".$_GET['anno']."' && n_prog='".$_GET['nomprog']."'";
$db =& JFactory::getDBO();
$db->setQuery($query);
$row = $db->loadAssoc();
$a = $row['uniq_id'];
$query2 = "SELECT id_viag FROM #__a_d_viag";
$db =& JFactory::getDBO();
$db->setQuery($query2);
$row2 = $db->loadAssoc();
foreach ($row2['id_viag'] as $v) {
if ($v['id_viag'] == $a) {
$results = 'Dettagli di viaggio già caricati';
}
else {
$results = 'Dettagli di viaggio non ancora caricati';
}
}
echo json_encode($results);
?>
_GET sono dei 4 dropdown. ho provato anche con _POST ma nella text box check non visualizza nulla. Dove sbaglio???
Grazie
dmiao83
-
Ho provato anche in questo modo... con scarsissimi risultati... :'(
On ajax4
<?php
$d1 = 'Dettagli di viaggio già caricati';
$d2 = 'Dettagli di viaggio non ancora caricati';
$var1 = JRequest::getVar('scuola','', 'get');
$var2 = JRequest::getVar('progetto','', 'get');
$var3 = JRequest::getVar('anno','', 'get');
$var4 = JRequest::getVar('nomprog','', 'get');
$query = "SELECT uniq_id FROM #__a_ammin WHERE id_scuola='$var1' && id_cod='$var2' && id_anno='$var3' && n_prog='$var4'";
$db =& JFactory::getDBO();
$db->setQuery($query);
$row = $db->loadAssoc();
$a = $row['uniq_id'];
$query2 = "SELECT id_viag FROM #__a_d_viag";
$db =& JFactory::getDBO();
$db->setQuery($query2);
$row2 = $db->loadAssoc();
foreach ($row2['id_viag'] as $g){
if ($g['id_viag'] == $a) {
$form->data['check'] = $d1;
}
else {
$form->data['check'] = $d2;
}
}
echo json_encode($form->data['check']);
?>
-
se mi ricordo bene On ajax4 non vede i valori passati con i metodi normali.
Dovresti mettere i lavori in una sessione in una delle altre aree del form ove sono preseenti e recuperarli in On ajax4 riprendendoli dalla sessione.
Ps. Non usare mai $_GET e $_POST non sono sicuri, ma gli altri metodi di recupero valori di Joomla come nel secondo caso che hai mostrato.
-
se mi ricordo bene On ajax4 non vede i valori passati con i metodi normali.
Dovresti mettere i lavori in una sessione in una delle altre aree del form ove sono preseenti e recuperarli in On ajax4 riprendendoli dalla sessione.
Ps. Non usare mai $_GET e $_POST non sono sicuri, ma gli altri metodi di recupero valori di Joomla come nel secondo caso che hai mostrato.
Con sessioni intendi di usare "data to session" e "session to data"?????
Nel caso dovessi riuscirci come faccio a inserire un valore nella textbox??? Se provo a mettere il valore io non viene comunque visualizzato nel textbox.
Grazie
dmiao83
-
Buona sera,
con la nuova versione di CFv5 è stata inserita la voce Event. Se si inserisce un evento di questo tipo "Set dynamic value" è possibile settore un valore anche ad una textbox senza problemi. Comunque se il dropdown o textbox ecc., dal quale si vuol "prelevare" il valore, è inserito in un "Multi field" non è possibile settare l'evento.
Saluti
dmiao83