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

    Passare caratteri speciali nell'URL con variabili JS

    Cari utenti del forum di HTML.it,
    chiedo il vostro consiglio per risolvere un problema che mi sta facendo ammattire!

    Dovrei personalizzare una funzione Javascript scritta in questo modo:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <html>
    <head>
    <title>Mia pagina</title>
    
    <script type="text/javascript">
    <!--
    function mia_funzione(C,chapterTitle)
    {
      //istruzioni per mia_funzione
    
    var Author = "Mario Rossi
    ";
    var Title = "Diario";
    
    url = "http://www.miosito.it/Miacartella/miasottocartella_frm.jsp?C="+C+"&variabileuno="+Author+"&variabiledue="+Title+"&variabiletre="+chapterTitle;
    
    window.open (url);
    
    }
    //-->
    </script>
    
    </head>
    
    <body>
    
    
    
    Segui questo link.</p>
    
    </body>
    </html>
    Dovrei far passare dei caratteri speciali (come quello segnalato nell'esempio di fantasia) nella stringa dell'URL al caricamento della pagina; la pagina, inoltre, è concepita per estrapolare il testo delle variabili inserite nell'URL, ricopiarlo e incorporarlo in alcuni campi visibili in una tabella. Il problema è che il browser converte automaticamente la stringa dell'URL %26agrave%3B in à.
    E' possibile fare in modo che il browser estrapoli la stringa dell'URL corrispondente ai caratteri speciali lasciandola intatta? Vorrei cioè ottenere, al clic del mouse sul link, questo risultato:

    codice:
    http://www.miosito.it/Miacartella/miasottocartella_frm.jsp?C=1&variabileuno=Mario Rossi
    &variabiledue=Diario&variabiletre=Quotidianit%26agrave%3B
    So che in Javascript esistono comandi come escape(), urlencode() e simili, ma non so se facciano al caso mio, perché vorrei che la regola valesse per tutti i casi indipendentemente dal carattere speciale che viene inserito nella stringa dell'URL...
    Vi chiedo scusa in anticipo se ho scritto delle inesattezze, ma la verità è che con Javascript sono veramente negato...

    Grazie dell'attenzione e dell'aiuto a chiunque vorrà rispondere.

    A presto!
    πάντα ῥεῖ

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    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

  3. #3
    Originariamente inviato da br1
    http://www.w3schools.com/jsref/jsref...icomponent.asp

    ciao
    Chiedo scusa, ma temo di non essere in grado di fare le giuste operazioni...

    Ho modificato in questo modo:

    codice:
    <script type="text/javascript">
    <!--
    function mia_funzione(C,chapterTitle)
    {
      //istruzioni per mia_funzione
    
    var Author = "Mario Rossi
    ";
    var Title = "Diario";
    var uri = "http://www.miosito.it/Miacartella/miasottocartella_frm.jsp?C="+C+"&variabileuno="+Author+"&variabiledue="+Title+"&variabiletre="+chapterTitle;
    
    window.open (encodeURIComponent(uri));
    
    }
    //-->
    </script>
    Ma si apre una nuova scheda con una pagina bianca...

    Dove sbaglio? :master: (abbi pazienza, ma sono un novellino assoluto...)

    Mille grazie per la risposta!
    πάντα ῥεῖ

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    encoda solo quello che passi appeso all' url,
    specifica il secondo parametro del window.open

    var uri = "http://www.miosito.it/Miacartella/miasottocartella_frm.jsp?C="+encodeURIComponent(C) +"&variabileuno="+encodeURIComponent(Author)+"&var iabiledue="+encodeURIComponent(Title)+"&variabilet re="+encodeURIComponent(chapterTitle);

    window.open(uri,"nomeFinestra");

    ciao

  5. #5
    Originariamente inviato da Xinod
    encoda solo quello che passi appeso all' url,
    specifica il secondo parametro del window.open

    var uri = "http://www.miosito.it/Miacartella/miasottocartella_frm.jsp?C="+encodeURIComponent(C) +"&variabileuno="+encodeURIComponent(Author)+"&var iabiledue="+encodeURIComponent(Title)+"&variabilet re="+encodeURIComponent(chapterTitle);

    window.open(uri,"nomeFinestra");

    ciao
    Ti ringrazio infinitamente per la tua risposta: con il tuo consiglio ho risolto!

    Ancora grazie... Ciao!
    πάντα ῥεῖ

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.