- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- passare valori tra le pagine
-
Ciao zwack
non te la prendere... capisco benissimo la frustrazione che si prova alle prime armi e ti assicuro che la comprendono tutti... perchè ci siamo passati tutti.
Come vedi ti aiutiamo comunque ma è necessario comprendere l'etichetta di questo ambiente. Non si tratta di superbia, anzi! Personalmente aiuto il più possibile (non solo in questo forum) perchè sono stato aiutato molto. Purtroppo chi aiuta di solito non viene pagato quindi è probabile che stia in ufficio a svolgere un altro lavoro, di conseguenza il tempo è poco. Ecco perchè si prediligono domande brevi per risposte lampo, questo inoltre stimola la capacità di comprensione del problema da parte di chi pone la domanda.
Abbiamo tanta voglia di dare una mano a te e agli altri perchè non smettiamo mai di riceverne... questo è il favoloso spirito della Rete
PS: hai risolto il tuo problema?
-
Scusami, non volevo assolutamente ferire la sensibilità di nessuno.
In ogni caso, data la tua esperienza, concorderai con il fatto che è più costruttivo fornire/richiedere persorsi di studio e approfondimento.
-
cari amici, (passatemi il termine ma oramai ho svelato le mie primavere e se non ci si sente amici del mondo intero è meglio levare il disturbo ) non intendevo sollevare polemica e men che meno avere le scuse di qualcuno (anche se in questo, caro paocavo, hai dimostrato di essere un GRANDE) ma solamente sottolineare il fatto che questo forum mi piace perchè qui ho trovato uno spirito che altrove o manca del tutto oppure si è perso, basta girare un pò per rendersene conto.
caro madai è vero che questo è il "cuore" e lo scopo della rete ma anche il suo più grosso limite perchè ha creato dei "protagonisti" che forti di qualche scarsa nozione di italiano parlato (e figuriamoci scritto) e di intere notti passate sul Commodore 64 adesso possono prendersi qualche rivincita e la cosa triste è che ciò accade frequentemente su siti "altamente professionali" e di grosso nome.
qui sto bene, e se ci fosse una sezione dedicata ad altri saperi, forse potrei essere anche io di aiuto mi sono avvicinato al mondo dell'informatica perchè con alcuni ex colleghi, aiuto studenti del sud del mondo (via web) a superare la cronica mancanza di scuole e strutture con le quali migliorarsi la vita nel loro paese e mi rallegro nel vedere VOI che avete conquistato questo sacrosanto diritto di sapere e lo condividete.
vedete sto facendo il vecchio Solone anche io.
Vi ringrazio entrambi tantissimo e spero di poter contraccambiare un giorno la vostra disponibilità.
vi saluto con sincera amicizia.P.S. il problema caro madai non l'ho ancora risolto.
P.S.2 - i vostri nick hanno incuriosito le mie figlie (23, 18 e 17 anni)
-
prova così, copia/incolla i codici:
pagina1.asp
<html>
<head>
<title>pagina 1</title></head>
<body>
<form name="form1" method="post" ACTION="pagina2.asp">
<input name="txt_nome" type="text" id="txt_nome" ><input name="txt_cognome" type="text" id="txt_cognome" >
<input type="submit" name="btn_go" value="Prosegui">
</form>
</body>
</html>pagina2.asp
<html>
<head>
<title>pagina 2</title></head>
<body>
<%
Session("nome") = request.form("txt_nome")
Session("cognome") = request.form("txt_cognome")
%>
ora i valori dei campi txt_nome e txt_cognome sono stati memorizzati nelle relative variabili di sessione:valore di txt_nome: <%= Session("nome") %>
valore di txt_nome: <%= Session("cognome") %>
<form name="form1" method="post" ACTION="pagina3.asp">
<input name="txt_indirizzo" type="text" ><input name="txt_citta" type="text" >
<input type="submit" name="btn_go" value="Prosegui">
</form>
</body>
</html>Come vedi nella pagina2.asp stampo a video i valori delle variabili di sessione per farti vedere che si sono riempite regolarmente. Nel tuo caso reale non dovrai farlo per forza. Una vola create tali variabili resteranno disponibili durante tutta la sessione di lavoro dell'utente, potrai quindi utilizzarle quando vuoi.
Ti avvero che le variabili di sessione non funzionano se l'utente ha i cookies disabilitati.
-
PS: il mio nick in realtà rappresenta delle iniziali
PS2: figlie? arrivo
-
comincio a sentirmi un caso disperato, ho adattato il tuo codice ad un form di prova (unica aggiunta la pag in .js che effettua i calcoli) riportandolo paro, paro...ho creato le text "A" "B" "C" e "D", A e B sono nella pagina1.asp e C e D nella pagina2.asp; dovrebbe accadere che se immetto dei valori numerici in Ae B e li passo alla pagina seguente, assegnando il valore a C in D dovrebbe apparire, al click, la somma di questi.
invece invece non accade nulla e mi avverte che "A.value" è nullo o non è un oggetto.
dove ho sbagliato ora?P.S. le figlie (ahimè) sono già impegnate ... non solo dallo studio.
-
il problema credo che stia nel fatto che le variabili di sessione vengono in realtà valorizzate nella pagina eseguita "dopo" quella che contiene l'assegnamento Session("nome_variabile") = valore
Pertanto se adotti il paradigma:
Pag1.asp(form1) >> Pag2.asp (Session(request1)+form2) >> Pag3.asp(Session(request2)+form3)
allora le variabili di sessione "usabili" sono solo quelle, richiamate in Pag3, e relative ai valori di Pag1.
Per risolvere il tuo problema devi riutilizzare il codice che ho scritto nel mio precedente post in cui la pagina.asp "Action" di ogni form è essa stessa (individuata col "?") e poi passare dall'una alla successiva con un semplice link.
In buona sostanza se vuoi utilizzare una variabile di sessione nel form successivo allora la devi valorizzare nella pagina precedente e NON nello stesso form successivo.
-
fatto , ma continua a non funzionare, ho azzerato tutto e preparato un form di prova per lavorare su porzioni di dati minime.
ti ringrazio tantissimo per la pazienza e disponibilità, forse come ho già detto a madai "sono un caso disperato".
ciao.
-
Posta di nuovo il codice che stai utilizzando
-
Salve, a tutti, per prima cosa complimenti a madai e paocavo, che come sempre sono di grandissimo aiuto a tutti i membri del forum, con i loro preziosi consigli.
Io però riprenderei ciò che aveva scritto madai, suggerendoti i campi hidden, perchè come è stato già scritto le variabili di sessione dipendono dai cookie e se un 'utente ha i cookie disabilitati tutto il lavoro di riempimento del form è inutile, con conseguente scazzamento dell'utente.
E credimi che se succedesse a me mi scazzerei parecchioTi posto un po' di codice per i campi hidden:
Pagina1.asp
<form method ="post" action="pagina2.asp"> Nome <input type="text" name="nome" id="nome"/> Cognome <input type="text" name="cognome" id="cognome"/> <input type="submit" value="invia"/> </form>
Pagina2.asp
<form method ="post" action="pagina3.asp"> Indirizzo <input type="text" name="indirizzo" id="indirizzo"/> Città<input type="text" name="citta" id="citta"/> <input type="hidden" name="nome" id="nome" value="<%=Request.Form("nome")%>"/> <input type="hidden" name="cognome" id="cognome" value="<%=Request.Form("cognome")%>"/> <input type="submit" value="invia"/> </form>
Così ti porti in giro tutti i valori senza appoggiarti alle variabili di sessione che conseguentemente si appoggiano ai cookie
Nella pag 1 i valori sono nome, cognome
Nella pag 2 i valori sono nome, cognome, indirizzo, cittaCiao ù
Ps
A settembre ho l'esame di chimica ad ingegneria, e ti premetto che sfrutterò le tue conoscenze
Ciao
-
@Legolas said:
Salve, a tutti, per prima cosa complimenti a madai e paocavo, che come sempre sono di grandissimo aiuto a tutti i membri del forum, con i loro preziosi consigli.
Grazieeee!
-
Grazie! Anche se per ora qui in asp c'è poco movimento
-
riprendiamo dai campi hidden (le session me le sto studiando per altri scopi, di cui sarete messi al corrente con dovizia di particolari..non dubitate.)
ho fatto come suggerisce legolas facendo due paginette di prova (4 sole text) ma nella pagina 2 quando clicco sulla text4 per ottenere una somma mi segnala errore, all'apparenza mi pare tutto in ordine dov'è l'errore?
questi i codici delle pagine:es1.asp
<html>
<head><title>pezzo1</title>
</head>
<body>
<script="text/javascript" src="fun.js">
</script>
<form name="f1" method="post" action="es2.asp">
Nome <input type="text" onkeyup="fun(this.form)" name="t1" id="t1"/>
Cognome <input type="text" onkeyup="fun(this.form)" name="t2" id="t2"/>
<input type="submit" value="invia"/>
</form>
</body>
</html>es2.asp<html>
<head><title>pezzo2</title>
</head>
<body>
<script="text/javascript" src="fun.js">
</script>
<form name="f1" method ="post" >
<input type="text" onkeyup="fun(this.form)" name="t3" id="t3"/> <input type="text" onkeyup="fun(this.form)" name="t4" id="t4"/>
<input type="hidden" name="t1" id="t1" value="<%=Request.Form("t1")%>"/>
<input type="hidden" name="t2" id="t2" value="<%=Request.Form("t2")%>"/>
</form>
</body>
</html>mi dice che alla riga incriminata è "previsto oggetto" (?) non riesco proprio a vedere cosa non va.
Salve, a tutti, per prima cosa complimenti a madai e paocavo, che come sempre sono di grandissimo aiuto a tutti i membri del forum, con i loro preziosi consigli.
mi associo pienamente
Ps
A settembre ho l'esame di chimica ad ingegneria, e ti premetto che sfrutterò le tue conoscenze
sarò sotto l'ombrellone ma CONTACI.
ciao a tutti e grazie.
-
@zwack said:
mi dice che alla riga incriminata è "previsto oggetto" (?) non riesco proprio a vedere cosa non va.
È un errore javascript. Facciamo una cosa all volta Elimina il javascript.
Cmq ti consiglio di inserire l'include nell'head non nel body.
-
i valori mi passano regolarmente (ho fatto una prova con campi visibili ed è tutto ok) ho bisogno della funzione, che sta tra i tag head (errore di copia e incolla qui), perchè il form effettua una somma e questa è a posto perchè sulla maschera intera funziona bene. dov'è l'inghippo?
:bho:
-
incollaci la funzione fun()
-
saremmo un tantino OT, comunque sia facci vedere la funzione javascript, almeno vediamo dove sta l'errore
sarò sotto l'ombrellone ma CONTACI.
Ci conti siCiao
-
eccola:
function fun() {
var v1=f.t1.value;
var v2=f.t2.value;
var v3=f.t3.value;
if (v1=="" || v2=="" || v3=="") return;
v1=parseInt(v1);
v2=parseInt(v2);
v3=parseInt(v3);
f.t4.value=v1+v2+(v3-40);
}
come ti dicevo nel form originale (quello che devo suddividere) mi funziona regolarmente, qui non capisco proprio come mai non vuole saperne.
grazie.
-
Io la cambierei così:
function fun() { var v1=document.getElemtById("t1").value; var v2=document.getElemtById("t2").value; var v3=document.getElemtById("t3").value; if (v1=="" || v2=="" || v3=="") return; v1=parseInt(v1); v2=parseInt(v2); v3=parseInt(v3); document.getElemtById("t4").value=v1+v2+(v3-40); }
E la richiami semplicemente
onquellochetipare = "javascript: fun();"ah, mi sono accorto ora di una cosa
nalla pagina 1 questa funzione non la puoi richiamare perche il campo t3 e t4 non esiste, la puoi richiamare solo nella pag 2, al max puoi scrivere due funzioni diverse, oppure modificarla così:function fun(pag) { if pag != ""{ var v1=document.getElemtById("t1").value; var v2=document.getElemtById("t2").value; if pag == 2 { var v3=document.getElemtById("t3").value; if (v1=="" || v2=="" || v3=="") return; }else{ if (v1=="" || v2=="") return; } v1=parseInt(v1); v2=parseInt(v2); if pag == 2 { v3=parseInt(v3); document.getElemtById("t4").value=v1+v2+(v3-40); } } }
Questa funzione funziona (scusate il gioco di parole) solo con 2 pagine per più pag ti tocca adattarla, puoi fare anche qualche cosa di più complesso, io ho un po' schematizzato
Ciao
-
getElemtById
getElementById