|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Mar 2008
Messaggi: 23
|
[javascriot] Dubbio su come procedere con controlli javascript
Salve a tutti,
volevo un consiglio (non il codice, naturalmente) su come proseguire per fare quanto segue. Praticamente, arrivo in una pagina jsp da una servlet in cui popolo un menù a tendina con dei valori ottenuti da query. Ora, ogni qualvolta cambio il valore contenuto in tale menù a tendina, altri 2 menù a tendina dovranno essere popolati in base ad una query su DB. Il primo menù a tendina non si trova in un form. Il mio pensiero era praticamente questo: creo un form fittizio, sfrutto l'evento javascript "onchange" sul primo menù a tendina per invocare un metodo javascript che fa il submit del form fittizio; sul form fittizio imposto l'evento "onsubmit" in modo che faccia il redirect sulla servlet passandogli un parametro nascosto (chiamiamolo OP) e, utilizzando un if sul "request.getParameter("OP")", invoco un metodo "slave" che effettua la query e mi ritorna un array di resultset (che è stato precedentemente definito). Dopodichè effettuo il forward sulla pagina jsp. A questo punto il mio dubbio è questo: da dove riprenderà il programma l'esecuzione? Dalla testa della pagina o dal form fittizio? Immagino che al 99% sia la seconda soluzione, ed a quel punto popolerei, con uno scriptlet, i menù a tendina che mi servono. E' corretto come ragionamento? Ah, dimenticavo...come potrei fare a tenere nascosti i 2 menù a tendina fino a quando non viene effettuata la scelta dal primo? Vi ringrazio molto, Fabio. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
il metodo più semplice per fare quello che chiedi è ajax. Con jQuery:
Codice:
$("#select1").change(function() {
var selectedVal = $(this).val();
$("#select2").load('urlDellaJSP', 'val=' + selectedVal);
})
La JSP in questo caso deve tornarti direttamente il codice html contenuto nella select, cioè una cosa tipo Codice HTML:
<option value="1">1</option> <option value="2">2</option> Questi sono i mattoncini(è praticamente tutto fatto EDIT: Quella che segue è la mia opinione: Javascript liscio va bene giusto per fare le prime cose, poi serve per forza un framework per poter fare le cose con una certa velocità e assenza di bug. Javascript purtroppo è molto soggetto alle differenze tra i diversi browser. Ultima modifica di Kenger : 26-09-2011 alle 22:34. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Mar 2008
Messaggi: 23
|
ciao,
ti ringrazio per la risposta esauriente, però purtroppo ho dimenticato di dire che framework non ne posso usare Deve essere tutto javascript/jsp/servlet |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
E non puoi nemmeno mettere un form intorno al select? In quel caso diventerebbe semplice.
Al limite puoi crearti un form in un altro punto della pagina con dentro un campo nascosto che all'evento onchange valorizzi. Poi fai submit sul form e via. Sennò puoi usare ajax anche senza framework, usando l'oggetto XMLHttpRequest. Su questo passo però, non l'ho mai usato. |
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Mar 2008
Messaggi: 23
|
Quote:
io avrei bisogno di una cosa "dinamica", quindi ajax sarebbe ottimo...difatti ho usato gli iframe per simulare un comportamneto "pseudo-ajax" |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:10.




















