Back to top

Autore Topic: Indice di una scelta da una lista?  (Letto 1712 volte)

Offline pavel

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Indice di una scelta da una lista?
« il: 18 Feb 2007, 16:03:59 »
Salve a tutti, sto modificando il componente Jevents per mie esigenze personali, e non riesco a capire come posso ricavare la selezione effettuata da una lista, in quale tale dato mi serve per aprire un popup che visualizzera'  dei dati in riferimento alla scelta effettuata.

In pratica ho questa funzione, che mi permette di fare una delle scelta, come da immagine successiva:

    function buildOggettiSelect( $imm_id, $args ){
        global $database, $gid, $option;
      global $immidList;

        $query = "SELECT id, title"
        . "\n FROM #__oggetti"
       . "\n WHERE publish='1'"
      . "\n ORDER BY title";

        $immobili[] = mosHTML::makeOption( '0', 'Scegli oggetto', 'id', 'title' );
        $database->setQuery($query);
        $immobili = array_merge( $immobili, $database->loadObjectList() );
        $immolist = mosHTML::selectList( $immobili, 'imm_id', $args, 'id', 'title', $imm_id );

        echo $immolist;
    }


.... successivamente ho un pulsante che mi aprira' un popup a cui dovro' passare la variabile che mi identifichi l'ID dell'oggetto selesionato.

ebbene il mio problema e' estrapolare tale variabile o ID.


Grazie  Saluti Pavel

Seleziona oggetto:



[allegato eliminato da un amministratore]

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Indice di una scelta da una lista?
« Risposta #1 il: 18 Feb 2007, 19:59:33 »
$immolist = mosHTML::selectList( $immobili, 'imm_id', $args, 'id', 'title', $imm_id );

E' tutto qui, la variabile si chiama imm_id.
Ti è sufficiente ricavarne i valori con la funzione mosGetParam().


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline pavel

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re: Indice di una scelta da una lista?
« Risposta #2 il: 20 Feb 2007, 10:44:49 »
Scusami se approfitto della tua pazienza.... premetto che in PHP ho poca dimestichezza, ma mi sembra di capire che la funzione da te descritta mi permetta di recuperare la variabile passata, ma il mio problema e' proprio quello di passarla.. Mi sembra di capire che in php si possa indicare una o piu' variabili nell'url, ma preferirei passarle senza metterle li. probabilmente tali variabili vnno inserite in qualche variabile Globale?  E' possibile passare anche array?

Nel mio caso specifico devo aprire un popup con javascript non posso utilizzare le funzioni di joomla, ma questo sarebbe superabile passadogli le variabili ed array che mi servono, oppure esiste la possibilità di eseguire dei popup all'interno di joomla (non la classica funzione popup standard che evidenzia solo un messaggio)?
Nelle due immagini allegate noterai cosa voglio fare:
nella prima immagine seleziona l'oggetto, e alla pressione del pulsante POPUP deve visualizzare la finestra (seconda immagine), naturalmente dalla prima devo passare l'indice dell'oggetto selezionato, e nella finestra popup devo recuperarlo, (preferibilmente non dal URL).
Spero tu mi possa aiutare.
Saluti Pavel

Questa e' la creazione del popup:

Crea Finestra...
  echo "<script language=\"JavaScript\" type=\"text/JavaScript\">\n";
  echo "<!--\n";
  echo "function popupEvent(ev) {\n";
  echo " win=window.open(\"http://localhost/ec..../popup.php?imm_id=\"+ev,\"scrollbars=yes,status=no,location=no,toolbar=no,menubar=no,directories=no,resizable=yes,width=200,height=300,top=100,left=50);\n";
  echo " if (parseInt(navigator.appVersion) >=4) { win.window.focus();}\n";
  echo " }\n";
  echo "//-->\n";
  echo "</script>\n";


Pulsante avvio popup.....

<input name="Secondo" type="button" onClick=\"popupEvent($imm_id)\" style=\"cursor:hand;\, '', 'menubar=0, resizable=0, width=700px, height=500px, top=150px, left=150px');" value="Avvio Popup"/>

Ho fatto un po di copia incolla...

Il file popup.php deve recuperare il valore imm_id... e visualizzare il calendario

[allegato eliminato da un amministratore]

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Indice di una scelta da una lista?
« Risposta #3 il: 20 Feb 2007, 11:33:18 »
Quello che devi fare non c'entra nulla con PHP, è tutto JS.
E' il pulsante che deve recuperare il valore dell'item selezionato nella casella combinata e passarlo al gestore dell'evento popupEvent.
Come prima cosa devi associare un identificativo univoco alla casella combinata: <select id="pippo">.
Dopodichè recuperi il valore dell'item selezionato:
var item = document.getElementById("pippo").value;

Infine lo passi a popupEvent.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline pavel

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re: Indice di una scelta da una lista?
« Risposta #4 il: 21 Feb 2007, 15:56:34 »
Grazie mille ho risolto.... in questo modo!
Spero sia corretto   (anche perche' funziona)

Saluti Pavel

        $query = "SELECT id, title"
        . "\n FROM #__estateagent"
       . "\n WHERE publish='1'"
      . "\n ORDER BY title";

        $database->setQuery($query);
        $immobili[] = mosHTML::makeOption( '0', _EAB_IMM_OPT, 'id', 'title' );
        $immobili = array_merge( $immobili, $database->loadObjectList() );
      $attributi="id='scelta' <script type='text/javascript'> document.getElementById('scelta').value; </script>";
      $immolist = mosHTML::selectList( $immobili, 'imm_id', $attributi, 'id', 'title', $imm_id );

                        echo $immolist;

 ?>

<script type="text/javascript">
 <!--
 function PopupCalendario() {
   
 var item=document.getElementById("scelta").value;

   var w = 400 ;
   var h = 250 ;
   var l = Math.floor((screen.width-w)/2);
   var t = Math.floor((screen.height-h)/2);
   window.open("http://localhost/administrator/components/com_events/escal/versione2.php?month="+item+"&year=2008","Calendario","scrollbars=yes,status=no,location=no,toolbar=no,menubar=no,directories=no,resizable=yes,width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);

 }
 //-->
</script>

<p>
  <input name="Pulsante" type="button" onClick="PopupCalendario()" value="Mostra Calendario">
</p>

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Re: Indice di una scelta da una lista?
« Risposta #5 il: 21 Feb 2007, 16:50:19 »
$attributi="id='scelta' <script type='text/javascript'> document.getElementById('scelta').value; </script>";

L'aggiunta di questo codice JS però è inutile.


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

 



Web Design Bolzano Kreatif