Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problemino funzioneJS

  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407

    problemino funzioneJS

    salve a tutti,

    io devo far coesistere in una pagina asp una funzione JS e appunto del linguaggio asp.

    il codice è questo:
    codice:
    <%
    
    if Request.QueryString("flag")="" then
    %>
    
    <script language="JavaScript">
    
      function Informazioni() {
        var Divisione=navigator.userAgent;
        var Parti=Divisione.substring(Divisione.indexOf('(')+1,Divisione.lastIndexOf(')'));
        var Parti=Parti.split(';');
    
            Larghezza=screen.width;
            Altezza=screen.height; 
            Colori1=screen.colorDepth;
            Colori2=Math.pow(2,Colori1);
            SistemaOperativo=Parti[2];
            
            LinguaOS=navigator.systemLanguage;
            NomeBrowser=navigator.appName;
            VersioneBrowser=Parti[1];
            LinguaBrowser=navigator.userLanguage;
            Proveider=Parti[3];
    
            location.href="index2.asp?altezza="+Altezza+"&larghezza="+Larghezza+"&Colori1="+Colori1+"&Colori2="+Colori2+"&so="+SistemaOperativo+"&Los="+LinguaOS+"&nb="+NomeBrowser+"&vb="+VersioneBrowser+"&lb="+LinguaBrowser+"&Prov="+Proveider+"&flag=ok"
    }
    
    document.onload=Informazioni();
    
    </script>
    
    <%
      end if
    
      'Inizializzo le variabili necessarie
      ValoreDB=0
      Contatore=""
      IP=""
      Data=""
      Ora=""
      TipoOS=""
      VideoX=""
      VideoY="" 
      PaginaP="" 
      Browser=""
      LingiaBr=""
      LinguaSis=""
      ColoreA=""
      ColoreB="" 
      
      'Assegno un valore alle variabili!
      IP=Request.ServerVariables("REMOTE_ADDR")
      Data=Date()
      Ora=Time()
      TipoOS=Request.querystring("so")
      VideoX=Request.querystring("Larghezza")
      VideoY=Request.querystring("altezza")
      PaginaP=Request.ServerVariables("HTTP_REFERER")  
      Browser=Request.querystring("nb")
      LingiaBr=Request.querystring("lb")
      LinguaSis=Request.querystring("los")
      ColoreA=Request.querystring("colori1")
      ColoreB=Request.querystring("colori2")
    
      ...
      ....
    ora quanto vado in asp a fare il controllo dei valori assunti dalle variabili sopra citate alcune di queste mi risultano =""
    che posso fare?
    C'è qualche errore nella sintassi della funzione JS?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Una piccola premessa:
    ASP (e il VBS collegato) vengono eseguiti sul server PRIMA di inviare lapagina al browser.
    JS viene eseguito sul client.

    Quindi i due non si vedono (e non e` possibile trsmettere info da JS a ASP nella stessa pagina).

    Tenuto conto di cio` dovresti riformulare la domanda.

    PS. Il tuo codice ASP fa caricare lo script SOLO se e` presente una condizione ASP.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    con questo codice:

    codice:
    <%
    
    if Request.QueryString("flag")="" then
    %>
    
    <script language="JavaScript">
    
      function Informazioni() {
        var Divisione=navigator.userAgent;
        var Parti=Divisione.substring(Divisione.indexOf('(')+1,Divisione.lastIndexOf(')'));
        var Parti=Parti.split(';');
    
            Larghezza=screen.width;
            Altezza=screen.height; 
            Colori1=screen.colorDepth;
            Colori2=Math.pow(2,Colori1);
            SistemaOperativo=Parti[2];
            
            LinguaOS=navigator.systemLanguage;
            NomeBrowser=navigator.appName;
            VersioneBrowser=Parti[1];
            LinguaBrowser=navigator.userLanguage;
            Proveider=Parti[3];
    		PaginaPrecedente=history.back();
    		Cpu=navigator.cpuClass;
    
            location.href="index2.asp?cpu="+Cpu+"&altezza="+Altezza+"&larghezza="+Larghezza+"&Colori1="+Colori1+"&Colori2="+Colori2+"&so="+SistemaOperativo+"&los="+LinguaOS+"&nb="+NomeBrowser+"&vb="+VersioneBrowser+"&lb="+LinguaBrowser+"&Prov="+Proveider+"&PP="+PaginaPrecedente+"&flag=ok"
    }
    
    document.onload=Informazioni();
    
    </script>
    
    <%
      end if
    
      'Inizializzo le variabili necessarie
      NomeFile=""
      ValoreDB=0
      Contatore=""
      IP=""
      Data=""
      Ora=""
      TipoOS=""
      VideoX=""
      VideoY="" 
      PaginaP="" 
      Browser=""
      VersioneB=""
      LinguaB=""
      LinguaS=""
      ColoreA=""
      ColoreB="" 
      Prov=""
      Processore=""
      
    
      Randomize
      Valore = int((4 * Rnd)+1)
      NomeFile= "Tessuto" & Valore & ".gif"
      
      If Session("Counter")="" then 'devo controllare se nel db persiste il record con ID = 1
    
    	  'Assegno un valore alle variabili!
    	  IP=Request.ServerVariables("REMOTE_ADDR")
    	  Data=Date()
    	  Ora=Time()
    	  TipoOS=Request.querystring("so")
    	  VideoX=Request.querystring("Larghezza")
    	  VideoY=Request.querystring("altezza")
    	  PaginaP=Request.querystring("PP")   
    	  Browser=Request.querystring("nb")
    	  VersB=Request.querystring("vb")
    	  LinguaB=Request.querystring("lb")
    	  LinguaS=Request.querystring("los")
    	  ColoreA=Request.querystring("colori1")
    	  ColoreB=Request.querystring("colori2")
    	  Prov=Request.querystring("Prov")
    	  Processore=Request.querystring("cpu")
    	  
    	  'Response.write(IP) 
    	  'Response.write(Data) 
    	  'Response.write(Ora) 
    	  'Response.write(TipoOS)  
    	  'Response.write(VideoX)   
    	  'Response.write(VideoY) 
    	  'Response.write(PaginaP) 
    	  'Response.write(Browser) 
    	  'Response.write(VersB)  
    	  'Response.write(LinguaB) 
    	  'Response.write(LinguaS) 
    	  'Response.write(ColoreA)   
    	  'Response.write(ColoreB) 
    	  'Response.write(Prov) 
    	  'Response.write(Processore)   
    	  'Response.end()
        
        function formatta_sql(mia_stringa)
          formatta_sql=replace(mia_stringa,"'","''",1,-1)
        End function
    
        'apro la connessione con il db
        set myConn = server.CreateObject("ADODB.Connection")
        dim strConnDb
        strConnDb = ""
        strConnDb = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = G:/Progetti Lavori/Web Project/Da Fare/Tessuti/tessuti1.mdb"
        'strConnDb = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/tessuti1.mdb")
        myConn.Open(strConnDb)
    
        'Registro le informazioni recuperate dal sistema!
    	dim strSqlInsertSondaggio 
    	strSqlInsertSondaggio = ""
    	strSqlInsertSondaggio = "insert into Statistiche (IndirizzoIP,Giorno,Tempo,RisX,RisY,Provenienza,Browser,VersioneB,LBrowser,LinguaOS,Colori1,Colori2,Proveider,Cpu,Sistema) values (':1:',':2:',':3:',':4:',':5:',':6:',':7:',':8:',':9:',':10:',':11:',':12:',':13:',':14:',':15:')"
    	'strSqlInsertSondaggio = "insert into Statistiche (IndirizzoIP,Giorno,Tempo,RisX,RisY,Provenienza,Browser,VersioneB,LBrowser,LinguaOS,Colori1,Colori2,Proveider,Cpu,Sistema) values  ('"& IP &"','"& Data &"','"& Ora &"','"& VideoX &"','"& VideoY &"','"& Paginap &"','"& Browser &"','"& VersB &"','"& LinguaB &"','"& LinguaS &"','"& ColoreA &"','"& ColoreB &"','"& Prov &"','"& Processore &"','"& TipoOS &"')"
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":1:",formatta_sql(IP)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":2:",formatta_sql(Data)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":3:",formatta_sql(Ora)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":4:",formatta_sql(VideoX)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":5:",formatta_sql(VideoY)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":6:",formatta_sql(PaginaP)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":7:",formatta_sql(Browser)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":8:",formatta_sql(VersB)) 
        strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":9:",formatta_sql(LinguaB)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":10:",formatta_sql(LinguaS)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":11:",formatta_sql(ColoreA)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":12:",formatta_sql(ColoreB)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":13:",formatta_sql(Prov)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":14:",formatta_sql(Processore)) 
    	strSqlInsertSondaggio = replace(strSqlInsertSondaggio,":15:",formatta_sql(TipoOS))	
    	
    	response.Write(strSqlInsertSondaggio)
    	response.end()
    	
    	myConn.Execute strSqlInsertSondaggio
    al response.write che mi mette a video i valori appaiono tutti quelli presenti e soprattutto tutti quelli che devono essere registrati.

    però quando vado a vedere nel db gli unici valori registrati sono l'indirizzo Ip, la data e l'ora, che sono poi anche gli unici 3 valori che recupero dal server, mentre tutti quelli recuperati dalla funzione js non vencono scritti nonostante la query appena prima della fase di execute li contenga... qualche suggerimento?

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non riesco a seguirti.

    In questo forum NON si tratta di probelmi ASP ne` di scripting lato server.

    Quindi se ritieni che il tuo problema sia nel JS lato client, psota SOLO il codice che arriva al browser (senza tutto lo script ASP - lo trovi facendo click destro e visualizza sorgente nel tuo browser).

    Altrimenti ti sposto nel forum di ASP.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Piu' che un problema ASP e' un problema di logica...:

    codice:
    ...
    if Request.QueryString("flag")="" then
    %>
    
    <script language="JavaScript">
    
      function Informazioni() {
        var Divisione=navigator.userAgent;
        var Parti=Divisione.substring(Divisione.indexOf('(')+1,Divisione.lastIndexOf(')'));
        var Parti=Parti.split(';');
    
            Larghezza=screen.width;
            Altezza=screen.height; 
            Colori1=screen.colorDepth;
            Colori2=Math.pow(2,Colori1);
            SistemaOperativo=Parti[2];
            
            LinguaOS=navigator.systemLanguage;
            NomeBrowser=navigator.appName;
            VersioneBrowser=Parti[1];
            LinguaBrowser=navigator.userLanguage;
            Proveider=Parti[3];
    		PaginaPrecedente=history.back();
    		Cpu=navigator.cpuClass;
    
            location.href="index2.asp?cpu="+Cpu+"&altezza="+Altezza+"&larghezza="+Larghezza+"&Colori1="+Colori1+"&Colori2="+Colori2+"&so="+SistemaOperativo+"&los="+LinguaOS+"&nb="+NomeBrowser+"&vb="+VersioneBrowser+"&lb="+LinguaBrowser+"&Prov="+Proveider+"&PP="+PaginaPrecedente+"&flag=ok"
    }
    
    document.onload=Informazioni();
    
    </script>
    
    <%
    ' a questo punto e' inutile continuare 
    ' a processare la pagina... i valori verranno ricevuti 
    ' ed elaborati dalla prossima pagina
        response.end
      end if
    ...
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da br1
    Piu' che un problema ASP e' un problema di logica...:

    codice:
    ...
    if Request.QueryString("flag")="" then
    %>
    
    <script language="JavaScript">
    
      function Informazioni() {
        var Divisione=navigator.userAgent;
        var Parti=Divisione.substring(Divisione.indexOf('(')+1,Divisione.lastIndexOf(')'));
        var Parti=Parti.split(';');
    
            Larghezza=screen.width;
            Altezza=screen.height; 
            Colori1=screen.colorDepth;
            Colori2=Math.pow(2,Colori1);
            SistemaOperativo=Parti[2];
            
            LinguaOS=navigator.systemLanguage;
            NomeBrowser=navigator.appName;
            VersioneBrowser=Parti[1];
            LinguaBrowser=navigator.userLanguage;
            Proveider=Parti[3];
    		PaginaPrecedente=history.back();
    		Cpu=navigator.cpuClass;
    
            location.href="index2.asp?cpu="+Cpu+"&altezza="+Altezza+"&larghezza="+Larghezza+"&Colori1="+Colori1+"&Colori2="+Colori2+"&so="+SistemaOperativo+"&los="+LinguaOS+"&nb="+NomeBrowser+"&vb="+VersioneBrowser+"&lb="+LinguaBrowser+"&Prov="+Proveider+"&PP="+PaginaPrecedente+"&flag=ok"
    }
    
    document.onload=Informazioni();
    
    </script>
    
    <%
    ' a questo punto e' inutile continuare 
    ' a processare la pagina... i valori verranno ricevuti 
    ' ed elaborati dalla prossima pagina
        response.end
      end if
    ...
    ciao
    x Br1

    ti potresti spiegare meglio?
    vorresti dire che io dovrei fare un response.redirect ad un'altra pagina e soltanto lì dovrei processare il tutto?

    x mich_

    non è un problema di asp, ma credo sia proprio di js...
    Ho postato anche il codice asp per far capire meglio che accidenti ho intenzione di fare... Ma il fatto che gli unici 3 valori registrati siano quelli che recupero dal server e quelli che non si registrano siano recuperati dallo script mi dicono molto su qualche errore dello script.

    Grazie

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    cerco di schematizzare:

    Il server riceve la richiesta della pagina... dal controllo scopre di non avere i dati ed invia il javascript per prelevarli. E' inutile continuare a processare la pagina, non avendo i dati...

    Il brovser riceve lo script, preleva i dati e li invia al server con la richiesta di una nuova pagina.

    Il server riceve la richiesta della pagina... dal controllo scopre di avere ricevuto i dati, prosegue l'elaborazione e li regista ed invia la pagina completa senza il javascript al browser.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da br1
    cerco di schematizzare:

    Il server riceve la richiesta della pagina... dal controllo scopre di non avere i dati ed invia il javascript per prelevarli. E' inutile continuare a processare la pagina, non avendo i dati...

    Il brovser riceve lo script, preleva i dati e li invia al server con la richiesta di una nuova pagina.

    Il server riceve la richiesta della pagina... dal controllo scopre di avere ricevuto i dati, prosegue l'elaborazione e li regista ed invia la pagina completa senza il javascript al browser.

    ciao

    forse era meglio se non schematizzavi... :master:
    Avrei capito di più.....

    dunque ora lo faccio io un ragionamento e vediamo se è quello che intendi tu...

    io nella pagina index2.asp metto:
    -------------------------------------------
    if session("info")="" then
    la mia funzione javascript
    response.redirect("salvainfo.asp")
    end if

    if session("info")<>"" then
    ......
    .....
    .....
    end if
    ----------------------------------------------

    a questo punto nella pagina salvainfo.asp metto:
    ------------------------------------------------

    recupero i valori con i Request.querystring("variabili")
    le memorizzo nel db
    session("info")="ok"
    response,redirect("index2.asp")
    -------------------------------------------------------

    a questo punto ritorno in index2.asp ed essendo la variabile di sessione info <>"" non ricarica più la funzione js ma passa ad eseguire il restante codice della pagina.

    questo può essere qualcosa che si avvicina a quello che hai detto tu con:

    ' a questo punto e' inutile continuare
    ' a processare la pagina... i valori verranno ricevuti
    ' ed elaborati dalla prossima pagina
    grazie

  9. #9
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    in parole molto povere qualcuno potrebbe spiegarmi come fare in modo da poter memorizzare tutti i valori e non soltanto i 3 recupetati attraverso server?

    Grazie

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ho visto che questo problema l'hai postato ovunque... per parte mia ti fornisco un esempio e chiudo (tra l'altro non e' un problema javascript).

    codice:
    <%
    ' questa e' pagina2.asp
    larg = Session("larg")
    if larg="" then larg = Request("larg")
    if larg="" then
    %>
    	<script>
    	larg = screen.width
    	location.href='pagina2.asp?larg='+larg
    	</script>
    <%
    	Response.end
    end if
    Session("larg") = larg
    ' continuo l'elaborazione ...
    %>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.