Aggiungere <select> progressivamente

11 contenuti / 0 new
Ultimo contenuto
Aggiungere <select> progressivamente

Ciao a tutti,
ho coppia di menu e voglio fare in modo che, premendo ad esempio un pulsante "+", si possano visualizzare altre due identiche e premendo un pulsante "-" si possa eliminare la coppia di select aggiunta.

Qualcuno conosce un modo per fare questo?

Grazie!

Per menu intendi menu a tendina? Sono selettori di tassonomia o campi CCK, o altro?
Se sono campi CCK, imposta il numero di valori consentiti a "Illimitato" e avrai più o meno la stessa funzione.

Altrimenti se intendi all'interno del codice di un modulo, c'è una soluzione un po' sporca(e anche abbastanza contorta) che utilizza JQuery per modificare i form in maniera dinamica(come tu chiedi), ed alcuni trick con i form di Drupal per evitare che questo ti blocchi il submit perchè il form non è più valido a causa dei nuovi campi che hai aggiunto al volo, campi che all'atto della creazione iniziale non erano presenti.
In pratica il trucco si basa sull' incastonare i valori dei vari pezzi del form creato dinamicamente (nel tuo caso delle select) all'interno di un array html che verrà poi passato dentro un solo campo input del form già pensato al momento della creazione del form.
Se è questo quello che ti interessa manda un pm e ti mando del codice di esempio.
Mi piacerebbe vedere la faccia di mavimo quando leggerà di questo stupro ghgh

@silent: la faccia era circa%c/

In ogni caso modificare un form "al volo" lato client per il submit si può fare (con D6, sopratutto) in maniera molto più pulita, in pratica il form NON viene inviato normalmente, ma in fase PRE submit tramite AJAX passi ad una pagia ad hoc i dati che ti servono, mentre il form classico te lo gestisci a parte (in modo che svincoli quanto diceva silent dal form vero e proprio che a sto punto si limita ad inettare il JS e gli eventuali elementi fissi).

Altra strada più pulita è vedere come lavorano i CCK per gli inserimenti di campi multipli, in pratica mettono assieme in un array gli elementi, ma può andare bene solo in certi casi.

Ultima strada (che ho usato, ma IMHO vale solo in casi estremi), pè di infilare i dati da inviare tramite JS in un campo hidden e poi gestirselo tramite i soliti $_POST lato server.

Ciao
Marco
--
My blog
Working at @agavee

salve,
ho bisogno piu o meno della stessa cosa..silent non è ch emi potresti inviare a questo indirizzo
[email protected] anche a me l'esempio per favore?
grazie
sto lavorando su drupal 5 quindi non posso usare i campi cck

si, se pazienti un po' li cerco e te li mando

@silent: Imho pessima scelta perchè rompi il meccanismo di validazione del form, dato poi che la stessa cosa può essere ottenuta in maniera pulita con ahah, non vedo perchè fare cose "sbagliate".

Per vedere come fare al cosa in maniera pulita:

Ciao
Marco
--
My blog
Working at @agavee

si si aspetto grazie millee!!

in realtà nonso se è proprio la stessa cosa di cui ho bisogno..perchè dovrei fare per capirci un campo come quello dei cck in drupal 6 che se lo metto unlimited mi da il tastino per aggiungere gli item..come si fa in drupal 5?
grazie

@squinternata: in D5? Devi fare più o meno come ho indicato per D6, ma devi costruirti tu il modulo.. se posso chiedere perchè D5? progetto vecchio?

Ciao
Marco
--
My blog
Working at @agavee

si progetto vecchio!purtroppo!
ma ch emi dite di Multireference CCK field?
mi sembra possa essere una soluzione..