|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 633
|
[JSP] Tag SELECT e javascript
Ragazzi,
sto preparando un esame. In buona sostanza ho una pagina con una SELECT che viene popolata con delle occorrenze di prodotti e un tasto che alla sua pressione apre un'altra pagina passandogli tramite un java script la stringa del prodotto selezionato. Quello che non riesco a fare è propio questo passaggio...ovvero come intercetto il testo dell'option che è stato selezionato e lo invio alla pagina successiva? Vi posto il codice che ho scritto e allego il print screen della pagina: Grazie a tutti <%@ page import = "MagaServer.*,java.util.*,java.rmi.*, java.rmi.server.*" %> <script> //Codice JavaScript. IGNORARE!! function openWindow() { //prodotto=prodotti.nome.text; prodotto=nome.[nome.selectedIndex].value //menu.options[menu.selectedIndex].text //prodotto="pavilion"; win=window.open('infoProd.jsp?prodotto='+prodotto,'',''); } </script> <body text="#FFFF00" bgcolor="#0000FF" vlink="white"> <% Magazzino object=(Magazzino)Naming.lookup("//localhost:20000/Magazzino"); String user=(String)session.getAttribute("user"); %> <h1>Gestione Prodotti</h1> <form name="prodotti" action="modificaGiacenze.jsp"> Prodotto: <select size="1" name="nome"> <% ArrayList lista=object.listaProdotti(user); Iterator iter=lista.iterator(); while(iter.hasNext()) { Prodotto p=(Prodotto)iter.next(); out.print("<option>"); out.print(p.getNome()); out.println("</option>"); } %> </select> <input type="button" value="Informazioni Prodotto" onClick="javascript:openWindow();"> <p><input type="radio" value="I" checked name="giacenze">Incrementa</p> <p><input type="radio" name="giacenze" value="D">Decrementa</p> <p>Quantità: <input type="text" name="quant" size="20"></p> <p><input type="submit" value="Modifica"> </form> </body> |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Dec 2008
Messaggi: 82
|
di solito si usa associare al form un <input> di tipo hidden. poi metti una funzione javascript che cambi il value del campo hidden in base a quale radio button viene cliccato. Così facendo quando fai la submit del form ti basta andare a leggere il valore del campo hidden e dimenticarti dei radio button.
__________________
Software house Manfriday |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2008
Messaggi: 82
|
ah la stessa cosa vale per la select... input hidden associato e poi una funzione sull'evento OnSelectedChange ( non mi ricordo esattamente il nome )
__________________
Software house Manfriday |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 633
|
Quote:
//prodotto=prodotti.nome.text; prodotto=nome.[nome.selectedIndex].value //menu.options[menu.selectedIndex].text //prodotto="pavilion"; win=window.open('infoProd.jsp?prodotto='+prodotto,'',''); } cioè non iresco ad intercettare il testo del valore selezionato...ho provato con prodotto=nome.[nome.selectedIndex].value ma niente... E' una stupidaggine lo so ma io non riesco...sarà lo stress da esame! |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Dec 2008
Messaggi: 82
|
menu.options[menu.selectedIndex].text
così dovrebbe essere corretto... però devi essere sicuro che dentro menu ci sia qualcosa, fai un Alert(menu) per debuggare. secondo me dovrai fare una GetElementById() per accedere a quel elemento
__________________
Software house Manfriday |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 633
|
Quote:
prodotto=prodotti.nome.text; menu.options[menu.selectedIndex].text prodotto=prodotti.nome.value; //che è la souzione del professore. Il passaggio dei dati alla form successiva ovvero win=window.open('infoProd.jsp?prodotto='+prodotto,'',''); funziona eccome. Infatti se si forza la variabile prodotto="quello chevuoi" la stringa la ritrovo nella pagina successiva. |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Dec 2008
Messaggi: 82
|
questo l'hai provato ?
prodotti.nome.options[prodotti.nome.selectedIndex].text altrimenti prova a mettere id="nome" al tag <select> e poi nel javascript a fare var nometmp = document.getElementById('nome'); var text = nometmp.options[nometmp.selectedIndex].text;
__________________
Software house Manfriday |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 633
|
Quote:
Cmq Grazie molte |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:39.