Back to top

Autore Topic: Riempire caselle dropdown collegate fra loro in Chronoforms.  (Letto 8729 volte)

Offline nikoweb

  • Newbie
  • *
  • Post: 17
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #60 il: 20 Gen 2012, 20:09:56 »
scusate mi si bloccava safari durante il salvataggio del post e me lo ha riportato 4 volte.

Offline nikoweb

  • Newbie
  • *
  • Post: 17
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #61 il: 23 Gen 2012, 08:19:26 »
Altro piccolo problema.
Io ho aggiunto nel form regione provincia comune altre voci sopra, tipo mone cognome azienda e te.
Mi ritrovo però con il problema che se compilo i campi nome  e cognome ecc. prima di scegliere i campi regione prov, il nome  e cognome si cancella, in quanto il form effettua un reload per caricare le provincie. Come posso ovviare a questo inconveniente?
Grazie infinite

Offline vales

  • Global Moderator
  • Cyborg
  • *****
  • Post: 5934
  • Sesso: Maschio
    • Mostra profilo
    • Agenzia Per il Turismo "Abetone Pistoia Montagna Pistoiese"
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #62 il: 23 Gen 2012, 17:47:23 »
Mi sembra lo abbiamo detto qualche post sopra.

due possibilità

1) Prima metti le dropdown e poi gli altri campi

2) Passi i parametri nel link di reload e poi recuperi i valori.

Offline nikoweb

  • Newbie
  • *
  • Post: 17
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #63 il: 24 Gen 2012, 20:07:47 »
Scusa Vales ma son de coccio e capisco poco di php java ecc.
Il form funziona, ho inserito altri campi tipo nome cognome azienda ecc sopra le 3 dropdown. Non riesco però a capire come si fa a passare i parametri nel link di reload e poi recuperare i valori come hai spiegato nel post precedente. Inoltre volevo attribuire una mail per ogni regione scelta, ho aggiunto un campo mailre alla tabella regione, ma non so tecnicamente portarmi questo valore nel form. Allora ho creato un'altra tabella e una quarta dropdown che carica la mail corrispondente dopo la scelta della regione. Però questa mail non mi si prende nel campo dynamic to.
Inoltre se provo a compilare il form,  mi arriva una mail don indicato il numero di "id" al posto della regione, provincia e comune, dove sto sbagliando, a parte che non capisco nulla?
Ti allego il codice, se per caso hai voglia e soprattutto il tempo di darci un'occhiata.
Grazie infinite




Codice: [Seleziona]
<div class="form_item">
  <div class="form_element cf_text"> <span class="cf_text">FORM PER RICHIESTA PREVENTIVO/OFFERTA/INCONTRO</span> <>
  <div class="clear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label">Nome</label>
    <input class="cf_inputbox" maxlength="150" size="30" id="text_3" name="nome" type="text" />
 
  <>
  <div class="clear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label">Cognome</label>
    <input class="cf_inputbox" maxlength="150" size="30" id="text_4" name="cognome" type="text" />
 
  <>
  <div class="clear">&nbsp;<>
<>


<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label">Azienda</label>
    <input class="cf_inputbox" maxlength="150" size="30" id="text_5" name="azienda" type="text" />
 
  <>
  <div class="clear">&nbsp;<>
<>
<?php


$db 
=& JFactory::getDBO(); 


$query "
  SELECT  `id`, `regione`
   FROM `#__regioni` ORDER BY `regione`"



$db->setQuery($query);
$nomes $db->loadAssocList();
$option_reg="";
  foreach ( 
$nomes as $v ) {
  
$selected="";
  
$id =  $v['id'];
  
$regione $v['regione'];
  if (
$id==JRequest::getVar('regione',0,'GET','INT')) {
  
$selected="selected=\"selected\"";
  }


$option_reg.="<option value=\"$id\" $selected>$regione</option>\n";


}




$query "
  SELECT  `id`, `provincia`
   FROM `#__province` WHERE `id_regione`="
.JRequest::getVar('regione',0,'GET','INT')." ORDER BY `provincia`"


$db->setQuery($query);
$nomes $db->loadAssocList();
$option_pro="";
  foreach ( 
$nomes as $v ) {
  
$selected="";
  
$id =  $v['id'];
  
$province $v['provincia'];
  if (
$id==JRequest::getVar('provincia',0,'GET','INT')) {
  
$selected="selected='selected'";
  }


$option_pro.="<option value=\"$id\" $selected>$province</option>\n";


}




$query "
  SELECT  `id`, `comune`
   FROM `#__comuni` WHERE `id_provincia`="
.JRequest::getVar('provincia',0,'GET','INT')." ORDER BY `comune`"


$db->setQuery($query);
$nomes $db->loadAssocList();
$option_com="";
  foreach ( 
$nomes as $v ) {
  
$id =  $v['id'];
  
$comune $v['comune'];


$option_com.="<option value=\"$id\" $selected>$comune</option>\n";


}


$query "
  SELECT  `id`, `mailre`
   FROM `#__mailre` WHERE `id_regione`="
.JRequest::getVar('regione',0,'GET','INT')." ORDER BY `mailre`"


$db->setQuery($query);
$nomes $db->loadAssocList();
$option_ma="";
  foreach ( 
$nomes as $v ) {
  
$selected="";
  
$id =  $v['id'];
  
$mailre $v['mailre'];
  if (
$id==JRequest::getVar('mailre',0,'GET','INT')) {
  }


$option_ma.="<option value=\"$id\" $selected>$mailre</option>\n";


}


?>





<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Regioni</label>
           
<select id="regione" name="regione"  onchange="province(this.form);" class="cf_inputbox validate-selection"  ><option value="" selected="selected">Seleziona</option>


<?php echo $option_reg?>


</select>


 <>   
    <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Provincie</label>


       <select id="provincia" name="provincia" onChange="reload(this.form);" class="cf_inputbox validate-selection" ><option value="" selected="selected">Seleziona</option>


<?php echo $option_pro?>
       
</select>
       
 <>   
    <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Comuni</label>


       <select id="comune" name="comune" class="cf_inputbox validate-selection" ><option value="" selected="selected">Seleziona</option>


<?php echo $option_com?>
       
</select>


 <>   
    <>
  <div class="cfclear">&nbsp;<>
<>


<div class="form_item">
        <div class="form_element cf_textbox">
          <label class="cf_label">mailre</label>
       <select id="mailre" name="mailre" class="cf_inputbox validate-selection" >


<?php echo $option_ma?>


</select>
       
 <>   
    <>
  <div class="cfclear">&nbsp;<>
<>


  <div class="clear">&nbsp;<>
<>


  <div class="form_element cf_textbox">
    <label class="cf_label">Telefono</label>
    <input class="cf_inputbox validate-number" maxlength="150" size="30" id="text_10" name="telefono" type="text" />
 
  <>
  <div class="clear">&nbsp;<>
<>

[/size]
Codice: [Seleziona]
function province(form)
{
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&chronoformname=offerte_reg_prov_com&regione=' + reg ;
}


function reload(form)
{
var prov=form.provincia.options[form.provincia.options.selectedIndex].value;
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&chronoformname=offerte_reg_prov_com&provincia=' + prov + '&regione=' + reg;}
« Ultima modifica: 24 Gen 2012, 20:15:13 da nikoweb »

Offline antonello66

  • Jr. Member
  • **
  • Post: 78
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #64 il: 07 Feb 2012, 20:36:00 »
Il campo va letto dal database dopo la scelta della regione e poi assegnato ad un campo nascosto.
Nel dinamic to userai il nome del campo nascosto.
Buonasera a tutti, vorrei chiedere a Vales se potrebbe fornire, in linea generale, il codice per estrarre la scelta dal campo regioni/province e poi assegnarlo al campo nascosto. A proposito in chronoform c'è hidden field (campo nascosto), è possibile usare quello? Se si come? Poi c'è un problemi fastidioso che non riesco a risolvere e cioè se i settaggi in
 
Load Chronoforms CSS/JS Files?[/t][/t]    No  Yes
li lascio su YES il risultato è così: 
http://antonello.comuf.com/index.php?option=com_chronocontact&chronoformname=form_ajax_inizio
 
se invece lo setto su NO il risultato è così:
http://antonello.comuf.com/index.php?option=com_chronocontact&chronoformname=form_ajax_inizio1
 
Ringrazio di vero cuore per qualsiasi risposta potrete darmi. Saluti da Antonello

Offline antonello66

  • Jr. Member
  • **
  • Post: 78
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #65 il: 09 Feb 2012, 17:18:33 »
Salve, non c'è nessuno che potrebbe aiutarmi a creare il collegamento di cui parlavo nel post prima? Garzie, Antonello

Offline mma87

  • Newbie
  • *
  • Post: 4
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #66 il: 05 Apr 2012, 15:28:53 »
ciao a tutti!
innanzitutto mi complimento per l'ottima spiegazione! avrei bisogno di una modifica che però non riesco ad effettuare... mi spiego meglio:
dovrei creare una sorta di ricerca con 2 dropdown, il tasto cerca e il tasto reset.
usando il codice presente nella prima pagina di questo topic (il codice senza l'utilizzo del database) sono riuscito a collegare i 2 dropdown però adesso avrei bisogno che ad ogni scelta del secondo dropdown, quando l'utente clicca su cerca, quest'ultimo deve essere reindirizzato ad una determinata pagina.
per es se scegliere "categoria 1 sez 1" viene indirizzato alla pagina  "categoria 1 sez 1", scegliendo "cat 2 sez 1" va alla pagina "cat 2 sez 1" e cosi via...
qualcuno può aiutarmi? uso joomla 1.5 e chronoform v3

Offline vales

  • Global Moderator
  • Cyborg
  • *****
  • Post: 5934
  • Sesso: Maschio
    • Mostra profilo
    • Agenzia Per il Turismo "Abetone Pistoia Montagna Pistoiese"
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #67 il: 06 Apr 2012, 17:48:29 »
Credo dovresti inserire nei valori della seconda drop gli URL di destinazione di ciascuna "cat sez" associate.

Nel campo codice di Server side validation code qualcosa di questo tipo che dopo il submit sul tasto "cerca" apre la pagina con URL scelto.

Codice: [Seleziona]
<?php
global $mainframe;

$mainframe->redirect(JRequest::getVar('nomecampodrop2','','post'));
?>


Offline mrfelix86

  • Newbie
  • *
  • Post: 1
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #68 il: 19 Apr 2012, 00:12:10 »
Complimenti a tutti x le info e le cose che ho imparato...

ho un problema: il form mi restituisce un errore nell'array associativo

foreach ( $nomes as $v ) {

il messaggio è il seguente

Warning: Invalid argument supplied for foreach() in xxxx\components\com_chronoforms\form_actions\custom_code\custom_code.php(18) : eval()'d code on line 12

Warning: Invalid argument supplied for foreach() xxx\components\com_chronoforms\form_actions\custom_code\custom_code.php(18) : eval()'d code on line 32

Warning: Invalid argument supplied for foreach() xxx\components\com_chronoforms\form_actions\custom_code\custom_code.php(18) : eval()'d code on line 52

a cosa è dovuto secondo voi? ??? ??

grz!!!!!   :D
« Ultima modifica: 19 Apr 2012, 00:15:57 da mrfelix86 »

Offline mma87

  • Newbie
  • *
  • Post: 4
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #69 il: 19 Apr 2012, 12:04:32 »
grazie mille vales per la risposta, adesso funziona! :)

Offline vales

  • Global Moderator
  • Cyborg
  • *****
  • Post: 5934
  • Sesso: Maschio
    • Mostra profilo
    • Agenzia Per il Turismo "Abetone Pistoia Montagna Pistoiese"
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #70 il: 21 Apr 2012, 08:17:05 »
Benvenuto nella comunità italiana di Joomla mrfelix86,
 
 
Complimenti a tutti x le info e le cose che ho imparato...

ho un problema: il form mi restituisce un errore nell'array associativo

foreach ( $nomes as $v ) {

il messaggio è il seguente

Warning: Invalid argument supplied for foreach() in xxxx\components\com_chronoforms\form_actions\custom_code\custom_code.php(18) : eval()'d code on line 12

Warning: Invalid argument supplied for foreach() xxx\components\com_chronoforms\form_actions\custom_code\custom_code.php(18) : eval()'d code on line 32

Warning: Invalid argument supplied for foreach() xxx\components\com_chronoforms\form_actions\custom_code\custom_code.php(18) : eval()'d code on line 52

a cosa è dovuto secondo voi? ??? ??

grz!!!!!   :D

 Andrebbe verificato il codice del form nelle linee indicate ed il risultato della query se carichi da tabella di database
 

Offline dinox

  • Jr. Member
  • **
  • Post: 92
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #71 il: 27 Apr 2012, 19:52:27 »
Salve piccolo problemino:
Ho la necessità di creare un form con tre dropdown (selezione categoria, provincia e città) e un campo testo con un tasto invia, che invierà il messaggio scritto nel campo a tutti gli utenti che fanno parte della categoria selezionata.

Joomla 2.5 gestisce già i gruppi utenti e con il plugin user profile si hanno anche i campi città e provincia.

Ho creato un form con queste tre select leggendo nel forum:

Codice: [Seleziona]
<?php
 
//questo codice permette di popolare la dropdown categorie

    
$db =& JFactory::getDBO();         
    
$query "
    SELECT id,title
    FROM jos_usergroups
WHERE id>8
    ORDER BY title "
;
    
$db->setQuery($query);
    
$nomes $db->loadAssocList();
    
$nome_options "";
      foreach ( 
$nomes as $v ) {

      
$nome_options .= "<option value='".$v['id']."' >".$v['title']."</option>";
  
      }

     echo 
$nome_options;
?>


<?php
 
//questo codice permette di popolare la dropdown provincie

    
$db =& JFactory::getDBO();         
    
$query "
    SELECT user_id,profile_key,profile_value
    FROM jos_user_profiles
WHERE profile_key='profile.region'
    ORDER BY profile_value "
;
    
$db->setQuery($query);
    
$nomes $db->loadAssocList();
    
$nome_options "";
      foreach ( 
$nomes as $v ) {

      
$nome_options .= "<option value='".$v['user_id']."' >".$v['profile_value']."</option>";
  
      }

     echo 
$nome_options;
?>
         

<?php
 
//questo codice permette di popolare la dropdown città

    
$db =& JFactory::getDBO();         
    
$query "
    SELECT user_id,profile_key,profile_value
    FROM jos_user_profiles
WHERE profile_key='profile.city'
    ORDER BY profile_value "
;
    
$db->setQuery($query);
    
$nomes $db->loadAssocList();
    
$nome_options "";
      foreach ( 
$nomes as $v ) {

      
$nome_options .= "<option value='".$v['user_id']."' >".$v['profile_value']."</option>";
  
      }

     echo 
$nome_options;
?>
         


inserendole delle tre caselle dropdown:

categorie (collegata alla tabella jos_usergroups)
provincie e città (jos_user_profiles campi city e region)

il form visualizza correttamente i dati, ma devo fare in modo che:
1) quando seleziono una categoria utenti le altre due dropdown (provincia e regione) mi devono restituire i dati in base agli utenti contenuti in quella categoria
2) inviare l'email a quella determinata categoria (in base alle scelte delle tre dropdown)
 
qualcuno può darmi una mano?
« Ultima modifica: 27 Apr 2012, 19:54:03 da dinox »

Offline PippoAlfredo

  • Newbie
  • *
  • Post: 8
    • Mostra profilo
Re:Riempire caselle dropdown collegate fra loro in Chronoforms.
« Risposta #72 il: 23 Mag 2012, 10:50:06 »
scusate, io non capisco come e dove inserire il codice che avete postato..potete dirmi passo passo dove mettere il codice?


grazie della risposta..

 



Web Design Bolzano Kreatif