lfanfoni wrote:
si, credo che l'uso dello script autocomplete potrebbe aiutare non poco.
il workaround dovrebbe essere:
docs.limesurvey.org/tiki-index.php?page=...wers_for_text_inputs
Dato che la scelta comunque sarebbe limitata ai nomi di comune che definisci, non hai problemi a trovare il codice istat ex-post, quindi a fare una elaborazione a posteriori.
Forse, ma forse, se invece di usare una domanda a testo semplice, usi una di tipo opzione semplice, manipolando opportunamente il javascript, forse si potrebbe ottenere la lista dei comuni dalle etichette delle opzioni, e magari si potrebbe memorizzare il codice etichetta, che a questo punto potrebbe coincidere con il codice ISTAT.
Per favore, facci sapere quale soluzione scegli di implementare e i motivi (anche di efficenza). E se addirittura ci posti lo script con l'elenco dei comuni italiani (o il csv), dai un bel contributo a tutti.
Ok, credo di esserci. Dopo qualche prova non riuscita, sono riuscito a far leggere il CSV (che allego). Prima di tutto si fa un template (il mio l'ho copiato dal "basic" e l'ho chiamato "Residenza") e ci si scarica comuni.csv e comuni.php, poi si crea l'indagine (allego la mia "24823") e si seguono le indicazioni del workaround postato da lfanfoni.
Le uniche righe di item da cambiare riguardano
var qID (in cui bisogna mettere il codice della domanda "testo breve" che si sta creando) e
var url, che deve riportare il path (a partire dalla root di installavione) verso il file php (nel mio caso specifico,"upload/templates/Residenza/comuni.php") che a sua volta popola l'array dei comuni a partire da comuni.csv.
Più difficile a dirsi che a farsi. Logicamente sta creando un array con più di 8.000 voci: non aspettatevi un fulmine di guerra quando si arriva a caricare questa domanda.
Per quanto riguarda la mia esigenza (ricavare il codice ISTAT), l'ho risolta con un artificio banale: nell'inserire i comuni nel file csv ho fatto precedere il nome del comune dal suo codice ISTAT (testo da sei caratteri, tutti numerici, i primi tre sono la provincia e gli altri tre il codice comune), tanto l'autocomplete funziona uguale.
A questo punto basta inserire una ulteriore domanda (questa volta una "Equazione") che estragga con la funzione "substr()" (vedere EM) i primi 6 caratteri. E me li trovo nel mio DB senza ulteriori post-elaborazioni.
L'unico problema è che, essendo un campo di testo, posso digitare quello che voglio (invece di selezionare dall'elenco), quindi ci può scappare che qualcuno scriva "Roma", prema invio e logicamente il tutto salta...
Ringrazio tutti (anche nel forum in inglese) per le indicazioni fornite.
Un saluto
Alessandro
Allegati:
File Attachment:
File Name:
comuni.csvFile Size: 197 KB
-->elenco comuni ISTAT
comuni.php -->istruzioni JS per popolare l'array
--> la mia indagine test, se qualcuno ne avesse bisogno, okkio che va comunque modificata
-->istruzioni JS per popolare l'array. Riallego il file con l'estensione .txt (.php non viene accettata) che va ovviamente tolta