ho un'azione onClick che scatena una ricerca e mi restituisce un valore che voglio far scrivere senza ricaricare la pagina . deve essere semplice ma sono un po' scarso!![]()
ho un'azione onClick che scatena una ricerca e mi restituisce un valore che voglio far scrivere senza ricaricare la pagina . deve essere semplice ma sono un po' scarso!![]()
pierfrac Le cose le sa ma non se le ricorda... Io non le so affatto!!! ... dimenticavo... sono io pierfrac!:P
"scatenare una ricerca" essendo un'azione da fare sul server corrisponde a ricaricare una pagina (che puo` essere un'altra rispetto a quella dove e` il form: una popup o un altro frame - non compatibile con i nuovi standard e quindi neppure con la legge Stanca).
Dovresti quindi chiarire cosa vuoi fare.
Una volta che il dato e` nel browser, si puo` copiare da una pagina all'altra
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
praticamente la ricerca la fa una classe java che mi da accesso ad un particolare set di dati e me li restituisce al suo interno e ho comandi del tipo viewer.get() che posso usare per visualizzare il risultato. quindi non posso ricaricare la pagina altrimenti la classe resetta la memoria. perciò io voglio scrivere anche in un <input> uno dei risultati che mi indica lo stato della ricerca.
Che ne pensi
pierfrac Le cose le sa ma non se le ricorda... Io non le so affatto!!! ... dimenticavo... sono io pierfrac!:P
Una classe java sul client riesce a fare una ricerca?
Allora hai anche un programma sul server sempre attivo e un socket che rimane aperto. Mi sembra un po' sproporzionato il rapporto costi/benefici (in termini di occupazione di risorse).
Non conosco pero` come passare dei dati dalla applet al JS: probabilmente occorre un timeout che continua a checkare una variabile se e` stata settata/modificata.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
sostanzialmente è un server geogrtafico che comunica su un'altra portadevo fare una cosa così
onClick fai l'azione di ricerca
l'azione di ricerca crea un array nel viewer di informazioni al quale ho accesso tramite la funzione viewer.getvalue(N) ora spacchetto questo array ad esempio voglio il dato 0 e voglio farlo scrivere in un qualche posto per visualizzarlo all'utente. che mi dici?
pierfrac Le cose le sa ma non se le ricorda... Io non le so affatto!!! ... dimenticavo... sono io pierfrac!:P
Dato che stiamo su un forum che si occupa di scripting lato client, devo presumere che stai parlando di oggetti lato client.
Pero` dovresti reinterpretare la tua frase in termini di DOM o di oggetti javascript.
In paritcolare:
viewer di informazioni : e` un oggetto?
funzione viewer.getvalue(N) : cosa ritorna?
questo array : e` un oggetto javascript/DOM ?
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
si è corretto l'utente scarica la classe java e poi tramite questa accede al server geografico che ritorna le informazioni all'interno della stessa clsse viewer (se vuoi vedere il sito vai a
http://213.215.135.204/progetti/view...%20vegetazione
document.viewer.getvalue(N) è l'array chre contiene le inforamzioni che richiedo ed è contenuto all'interno del viewer.
non lo so spiegare bene ma forse
miglioro?codice:<applet code="TNwebEditor.class" archive="tnweb.jar"name="Viewer" width=100% height=430 align="top" mayscript > <param name=ServerAddress value="213.215.135.204:81"> <param name=User value="guest"> <param name=Password value="guest"> <param name=ProjectName value="Carta della vegetazione"> <param name=OverviewName value="Overview"> <param name=CoordsName value="Coords"> <param name=ToolbarName value="Toolbar"> <param name=ScalebarName value="Scalebar"> <param name=AttribsName value="Attribs"> <param name=EditBarName value="EditBar"> <param name=IdentifyJS value="OnIdentify"> <param name=BorderType value="sunken"> <param name=BorderWidth value="0"> <param name=BorderColor value="0xDDDDDD"> <param name=InteractState value="InteractDefault"> <param name=TooltipEnabled value="yes"> <param name=TooltipWait value="800"> <param name=MeasureDecimals value="2"> <param name=MeasureString value="metri"> <param name=MeasureFactor value="1.0"> <param name=FeatureColor value="0x00FF00"> <param name=SelectColor value="0xFF0000"> <PARAM NAME=BandingEnabled VALUE="yes"> <PARAM NAME=FastPreviewEnabled VALUE="yes"> <PARAM NAME=ProgressEnabled VALUE="yes"> <PARAM NAME=SmartSend VALUE="yes"> </applet>
pierfrac Le cose le sa ma non se le ricorda... Io non le so affatto!!! ... dimenticavo... sono io pierfrac!:P
OK. ora inizio a capire.
Premetto che non ho mai usato le applet, e non ho caricato la JVM sul mio browser (e quindi non posso testare la tua applet).
Vedo comunque degli errori formali.
1. <applet> non e` un oggetto standard. Dovresti sostituirlo con <object> (che peraltro poi non funziona nel browser IE).
2. Manca uno spazio nella riga del tag applet.
3. Mancano diverse coppie di virgolette nella riga del tag applet.
4. L'oggetto applet si chiama "Viewer", mentre tu lo indirizzi con il nome "viewer" (JS e` case-sensitive).
Immagino che il metodo getvalue(N) del tuo oggetto ritorni valori diversi a seconda del dato N che fornisci. Nota che questa non e` una array, e` un metodo dell'oggetto.
In pratica ogni volta che chiami quel metodo ti ritorna uno (o piu`?) dati che possno esserti utili.
Dovresti vedere che dati ritorna (in particolare quelli interesanti per i tuoi scopi), e cercare tra tali dati se c'e` un dato che dice quando ha eseguito una lettura del DB (se hai preso l'applet da un sito serio, dovrebbe esserci anche la documentazione).
Poi fare lo script che legge i dati dell'applet e li mette in qualche posto e` un giochino semplice.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
ho cercat di semplificare perché non so fare il giochino semplice!
effettivamente il risultato del metodo get che mi da il buon esitoi è il primo quindi 0.
io non so farlo scrivere e ... riscrivere sopra dopo l'evento click senza ricaricare la pagina!
pierfrac Le cose le sa ma non se le ricorda... Io non le so affatto!!! ... dimenticavo... sono io pierfrac!:P
Scrivere dentro un campo tipo testo di un form?
document.NOMEFORM.NOMECAMPO.value = "quello che vuoi";
Nel tuo caso dovresti fare un ciclo controllato da un timeout:
dove al posto di XXX devi metterci la stringa (tra apici) o il valore numerico (senza apici) ritornato dalla lettura in caso il dato NON sia pronto (o sistemare l'if in modo appropriato)codice:function leggi_applet() { var tmp = document.viewer.getvalue(0); if(tmp == XXX) { setTimeout('leggi_applet()', 100); return false; } document.NOMEFORM.NOMECAMPO1.value = tmp; document.NOMEFORM.NOMECAMPO2.value = document.viewer.getvalue(YY); return true; }
al posto di YY ci metti il valroe da inserire per il dato che ti interessa.
Ho supposto due campi tipo text o textarea (per campi diversi la sintassi puo` essere diversa).
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati