Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Passare un valore senza form

    avrei questo codice:

    .write " <select name=""quale"" id=""quale"" onChange=""javascript:refreshUtenti();"">" & vbCrLf
    For X = 1 To iNbPages
    .Write " <option value=""" & X & """"
    If X = CInt(myPage) Then .Write " selected"
    .Write ">" & X & "</option>" & vbCRLF
    Next
    .write " </select>" & vbCrLf

    Sopra vengono elencate il numero di pagine, il problema che devo passare
    la pagina selezionata ad una variabile che mi farebbe cambiare pagina,
    ma non posso utilizzare ne un form ne Request.QueryString
    perchè non posso fare il classico pagina.asp?=

    In pratica il numero di pagina selezionato deve passare ad una variambile
    myPage=X


    grazie
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  2. #2
    Perchè non puoi usare "il classico pagina.asp?=" ?

    In ogni caso eliminando querystring e form, ti rimangono la session e il cookie. Fai un po' te...

    Ciau!
    - Dean

  3. #3
    grazie intanto Atari

    Purtroppo, in base alle mie conoscenze, non riesco a fare passaggi con "pagina.asp?="
    per mitivi di posizione del file.

    Provo a spiegarmi che sarà più difficile che mostrarti la cosa....

    Il file pagina.asp è un file che in qualche modo non è "direttamente" collegato
    al sito, neanche tramite includes ne con iframe.
    Viene simulato una specie di IFRAME autoaggiornante usando una funzione AJAX a monte che fa apparire PAGINA.ASP in corrispondenza dei <DIV></DIV> su cui fa refresh la funzione.

    Quando io ho provato a fare la paginazione classica, appena andavo avanti di una pagina,
    mi metteva a full screen solo il file pagina.asp anche se ero in altre pagine.

    Ho anche provato a passare il valore tramite AHAH della funzione e ci sono riuscito a recuperare con Request.querystring, ma poi non sapevo fare a rimandare su la successiva pagina purtroppo.

    Ho quindi pensato di fare tutto dentro allo stesso file, così eliminerei anche il totale refresh del sito.

    Per questo sto cenrcando il modo di memorizzare in una variabile il numero della pagina che ora esce nella OPTIONS.
    Insomma un lavoraccio per mè complicato.
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  4. #4
    mi continua a sfuggire il motivo del perchè non puoi chiamare pagin.asp?p=n tramite ajax [ignoro cosa sia un valore ahah] quando cambi pagina, così da aggiornare i risultati senza il refresh di tutta la pagina.

    Ciau!
    - Dean

  5. #5
    E' perchè mi spiego male, Ajax lo conosco ben poco, ho utilizzato una funzione
    refreshUtenti() posizionata nel TopPage del mio sito, la parte alta condivisa da tutte le altre pagine.
    Sarebbe la cosa migliore paginare i risultati sfruttando la funzione gia esistente.

    La funzione è di tipo GET

    function refreshUtenti()
    request('"onlineospiti.asp', 'ospiti_div', '', '', 'GET', '');" & vbCRLF
    ...

    poi con un refresh
    Response.Write "setTimeout('refreshUtenti()',2000);" & vbCRLF

    va ad aggiornare il contenuto di onlineospiti.asp richiamato tra i div

    così funziona regolarmente.

    Per la paginazione ho provato a passare il valore delle pagine così:

    request('"onlineospiti.asp', 'ospiti_div', '', '', 'GET', 'pagina=" & num & "');" & vbCRLF

    ed effettivamente lo riesco a recuperare da onlineospiti.asp tramite un request.querystring(pagina)

    però poi non so come reinviare un nuovo valore alla funzione quando scorre i tasti delle pagine successive.
    Bisognerebbe che quando clicco il link "pagina successiva" trasmettesse la nuova pagina alla funzione e aggiornasse subito per paginare.

    Mettendo nella pagina onlineospiti un bottone
    Response.Write "<input type='button' value='aggiorna' onclick='refreshUtenti() '>" & vbCRLF

    aggiorna ma poi come gli invio il valore della pagina??

    Grazie
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  6. #6
    Ti tieni il riferimento della pagina attuale nello script js. Ad esempio :
    codice:
    <script ...>
    pagina = 1;
    nuovaPagina = 1;
    
    function pagina_successiva(){
        vai(pagina+1);
    }
    
    function vai(num){
        // script ajax, invii richiesta pagina num
          ......
    
        nuovaPagina = num;
    }
    
    // funzione richiamata in onreadystatechange
    function vai_risposta(){
         // recuperi i dati della risposta ajax & li visualizzi
         ......
    
         // aggiorni la pagina attuale
         pagina = nuovaPagina;
    }
    </script>
    Ciau!
    - Dean

  7. #7
    Ti ringrazio molto, forse la logica del tuo script l'ho anche capità,
    ma non riuscirò da quella base a scrivere lo script, ho sempre fatto queste cose,
    modificando script gia esistenti e funzionanti trovati in rete, a causa delle mia mancanze di conoscenza e della sintassi.

    Inoltre ho anche constatato che un valore passato dalla funzione Ajax rimane lo stesso se non ricarico la pagina intera del sito.

    Se non trovo qualche esempio da adattare in java, penso che proverò a fare qualcosa di più semplice con le sessions, anche perchè dopo il refresh la pagina deve rimanere quelle selezionata e non tornare sempre alla 1. e anche questo è una situazione che forse con Java è difficile da ottenere.
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  8. #8

    Riproviamo...

    Dunque prima del suicidio ....

    Ho provato questa soluzione che ovviamente mi da un errore Javascript che manca oggetto.

    .write " <select id=""nPagina"" onChange=""Assegna();refreshUtenti();"">"
    For X = 1 To iNbPages
    .Write " <option value=""" & X & """"
    If X = CInt(myPage) Then .Write " selected"
    .Write ">" & X & "</option>" & vbCRLF
    Next
    .write " </select>" & vbCrLf


    .Write "<script type=""text/javascript"" language=""javascript"">" & vbCrLf
    .Write "function Assegna()" & vbCrLf
    .Write "{" & vbCrLf
    .Write "document.getElementById('nPagina').selectedIndex; " & vbCrLf
    .Write "}" & vbCrLf
    .Write "</script> " & vbCrLf
    con assegna() dovrebbe in teoria ricavare il valore attuale dalla OPTION, qualche suggerimento riguardo l'errore che restituisce il browser (Previsto Oggetto) ?
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  9. #9
    Per il JS, non sono capace di darti spiegazioni ad occhio

    Prova a chiedere nel forum di JavaScript, troverai gente in materia piu' competente di me )


    Ciau!
    - Dean

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.