ExtraGeek

La Tecnologia vista da me

Problema di programmazione

Oggi vorrei proporvi un argomento un po’ diverso dal solito. Nei giorni scorsi mi sono imbattuto in un piccolo problema di programmazione web. Io l’ho risolto in un certo modo, ma visto che sull’argomento sono un po’ arrugginito mi farebbe piacere poter vedere delle soluzioni alternative alla tipologia di problema che andrò ad esporvi.

Esercizio
Abbiamo una form, molto semplice, con pochissimi elementi, ci sono due caselle di testo protette da scrittura ed un bottone.
Premendo il bottone si apre un pop-up in cui vengono visualizzati dei dati prelevati da un db (per esempio la lista dei clienti). Cliccando su di un cliente il pop-up si deve chiudere e automaticamente riportare la denominazione di tale cliente nella prima delle due caselle di testo. Nello stesso momento la seconda casella di testo deve essere popolata con un valore prelevato da altra tabella del db (per esempio l’importo dell’ultima fattura emessa a quel cliente). La difficoltà sta nel fatto che quest’ultima operazione non è possibile effettuarla con l’aiuto del pop-up prima descritto. L’ipotesi è quindi che la pagina che contiene la form si dovrebbe accorgere quando viene inserito il valore nella prima casella di testo e in quel momento, senza l’uso di submit ma preferibilmente attraverso una richiesta HTTPrequest, interrogare il db per farsi restituire il valore da inserire nella seconda casella di testo.

Questo è quanto. Io, non per scelta, ma piuttosto per necessità in quanto l’applicazione era già esistente, ho scritto il tutto utilizzando javascript e, per quanto riguarda la parte lato server, ASP. Ovviamente sono accettati esempi con qualsiasi tecnologia.

Fra qualche giorno, dopo che spero ci siano stati degli esempi da parte vostra, pubblicherò il codice della mia soluzione.

Spero di essere stato chiaro nell’esposizione e ancora una volta vi invito a postare nei commenti la soluzione concepita dalla mente di tutte quelle persone che vorranno dedicare qualche minuto a questa riflessione.

Buonanotte !

Commenti (9) -

Riprova... forse il problema era dovuto al fatto che avevo inserito codice html?

No Alex, il problema era nell'uso di due plug-in che dovrebbero funzionare come filtri anti-spam ... adesso, su tre, due sono disabilitati e sembra essere tornata la normalità.
In un post che ho già pubblicato ho detto che modererò i commenti, ma prima di ciò vedrò cosa accade con l'unico filtro rimasto attivo ... ciao e grazie di nuovo !!!

Beh se vuoi puoi pubblicare tu in un commento la mezza soluzione trovata che potrebbe risultare utile a tanti altri online...

Ciao
Alex - www.oculus.it

Lo farò caro Alex ...

Allora nel POPUP metti questo codice:
<Script Language="JavaScript">
   function fillText()
     {
        window.opener.document.form1.idfrancobollo.value = document.form1.idfrancobollo.value;
        close();
     }
</Script>
<form name=form1 onSubmit='fillText(); return false'>
<input type=hidden name=idfrancobollo value='$idmus'>
<input type=submit value='SCEGLI QUESTO FRANCOBOLLO'>
</form>

Nel form chiamante, secondo questo esempio , deve esserci un form chiamato "form1" che abbia il campo "idfrancobollo" nel quale ci verrà messa la variabile "$idmus".

Ci diventai scemo all'epoca quando cercai questa soluzione... che spero ti sia molto utile!!

Per riempire con campi del database il form chiamante, mi sono appena accorto, che in un altro caso avevo fatto la query nel form chiamato e clikkando il link per confermare, ho "sparato" le variabili che mi necessitavano nel form del chiamante!

Ciao Alex,
anche tu vedo che comunque una "soluzione assoluta" non ce l'hai, come me di volta in volta usi quella che più ti sembra adatta. A me è anche capitato di usare un frame in linea dimensionato a 16x16, con tutti i problemi che ciò comporta. Esso conteneva una form della quale facevo la submit dal contenitore, questo form oltre a riempire una text box sparava fuori una icona (ovviamente sempre 16x16) che cambiava a seconda del risultato della form. Mi rendo conto che così a parole è un po' complesso spiegare ...

Ciao

Penso che la soluzione assoluta si possa ottenere divertendosi un po' con AJAX... ma la vedo dura almeno per me in questo periodo della mia vita!! Smile
Immagino che dovendo riempire più campi rispetto ai miei due una soluzione migliore andrebbe trovata...

Commenti chiusi