Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    JS: problema incredibile con contenazione

    Ciao

    mi è successa una cosa strana. Ho uno script fatto cosi

    function Ricarica(pagina, quanti, query, vista, tipo)
    {

    alert(query);
    window.location = pagina + '?quanti=' + quanti + '&query=' + query + '&vista=' + vista + '&tipo' + tipo;

    }


    A questa funzione passo un po di variabili. Quella mi interessa adesso è solo 'query'

    L'alert che ho inserito mi fa stampare una query simile a questa :

    SELECT prev_vend_in.IDpreventivo, data,anag_main.rag_sociale ,(sum(prev_vend_in_dettaglio.prezzo*prev_vend_in_d ettaglio.quantita*((100-prev_vend_in_dettaglio.sconto)/100))+ spesetrasp + spesesuppl) as totale, FROM prev_vend_in, anag_main, prev_vend_in_dettaglio


    Quando poi ricarico la pagina, la pagina mi mostra questa query

    SELECT prev_vend_in.IDpreventivo, data,anag_main.rag_sociale ,(sum(prev_vend_in_dettaglio.prezzo*prev_vend_in_d ettaglio.quantita*((100-prev_vend_in_dettaglio.sconto)/100))spesetrasp spesesuppl) as totale, FROM prev_vend_in, anag_main, prev_vend_in_dettaglio

    Cioè MANCANO i segni '+' nella formula ma come è possibile ???? Cosi chiaramente ricevo un errore !!
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao ivy_76.

    è tutto normale... il simbolo + messo in querystring equivale a "spazio"

    per passare dei parametri in querystring dovresti fare un escape delle stringhe e un replace dei + con %25
    codice:
    query = escape(query.replace(/\+/g,'%2B'))

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    questa non l'avevo mai sentita !!

    Ho provato a fare come dici tu ma adesso ho un altro problema. Quando la pagina viene ricaricata la query compare in questo formato

    SELECT prev_vend_in.IDpreventivo, data,anag_main.rag_sociale ,(sum(prev_vend_in_dettaglio.prezzo*prev_vend_in_d ettaglio.quantita*((100-prev_vend_in_dettaglio.sconto)/100)) %2B spesetrasp %2B spesesuppl) as totale, acquisito, scaduto FROM prev_vend_in, anag_main, prev_vend_in_dettaglio

    Ho provato a fare la cosa inversa ma non ha funzionato ..

    <script language=javascript>
    query = escape(query.replace('%2B',/\+/g));

    </script>


    Dove sbaglio ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  4. #4
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Ho risolto cosi !!

    nella pagina che si ricarica ho messo questo controllo:

    if (isset($query))
    {
    $query = str_replace("%28","+",$query);


    }


    cosi va !! Grazie 1000
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    non è il massimo come hai risolto

    scusa ma prima ero di fretta e nell'esempio ho fatto il contrario di quello che ti avevo detto
    sarebbe così
    codice:
    query = escape(query).replace(/\+/g,'%2B')

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 © 2024 vBulletin Solutions, Inc. All rights reserved.