Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372

    [Js] Costante string senza terminazione ...

    succede questo:

    - selezionato il record su una <table> tramite pulsante leggo e passo i valori via GET ad una pagina php
    - i record è un elenco di nominativi che possono contenere caratteri tipo & ' " ecc.
    - utilizzo la funzione escape() per la conversione di tali caratteri

    esempio:

    nome --> D'Amico Pinco Pallino

    # script js selezione
    no = parent.job.document.f1.elements['Rno'+cd].value;
    no = escape(no);

    # script js passaggio parent.dest.location="ojdest.php?nome="+no+"&compa ny="+co+"&numero="+nu+"&prio="+p+"&sog="+sog+"&cd= "+cdsog+"&id=<?echo $_SESSION['id']?>";

    # stringa passata ... ojdest.php?nome=&company=D%27Amico%20Pinco%20Palli no&numero=05541200&prio=&sog=Clienti&cd=7018&id=1

    # errore js
    riga 34 carattere 47 Costante string senza terminazione
    url http://localhost/test/EasyOffice/ojd...i&cd=7018&id=1


    MA DOVE?????

    presuppongo sia l'apice nel nome anche se è stato utilizzato escape?


  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    ... potete verificare il mio problema ....

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ho controllato sul mio manuale preferito, ma nella funzione escape() non dice nulla riguardo all'apice e non lo usa negli esempi (mentre usa tutti gli altri caratteri).

    Potrebbe essere un problema specifico dell'escape.

    Prova a cambiarlo in qualcos'altro prima di fare l'escape:

    no = parent.job.document.f1.elements['Rno'+cd].value;
    no = escape(no.replace(/\'/g, "%27");

    (il primo parametro del replace e`: slash backslash apice slash g )
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    ... verifico e faccio sapere ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    # utilizzando questo: no = escape(no.replace(/'/g, "%27")); aggiunge %25

    # stringa passata
    ... ojdest.php?nome=&company=D%2527Amico%20Pinco%20Pal lino&numero=05541200&prio=&sog=Clienti&cd=7018&id= 1

    ma da lo stesso errore

    ho notato inoltre che anche utilizzando l'escape i caratteri speciali sono si convertiti, ma ottengo lo stesso errore anche se la stringa contiene & e non solo anche se non contiene nessun carattere speciale ho sempre "Costante string senza terminazione" ma ho ricontrollato per l'ennesima volta ogni punto della riga interessata e non vedo
    nulla di sbagliato:

    # stringa js

    parent.dest.location="ojdest.php?nome="+no+"&compa ny="+co+"&numero="+nu+"&prio="+p+"&sog="+sog+"&cd= "+cdsog+"&id=<?echo $_SESSION['id']?>";

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ti ho gia` scritto: mettici una backslash davanti all'apice (nel browser non si vede, ma se fai un quote del messaggio si`).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Originariamente inviato da Mich_
    Ti ho gia` scritto: mettici una backslash davanti all'apice (nel browser non si vede, ma se fai un quote del messaggio si`).
    è quello che ho fatto aggiunge %25 nella stringa quanto c'è l'apice

    D%2527Amico%20Pinco%20Pallino

    ma produce lo stesso errore

    inoltre come ti ho già detto si verifica lo stesso errore anche se la stringa non contiene caratteri speciali. Cosa ne pensi?????



  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    ... nulla in merito

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    ... chi può aiutarmi????

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Io ci ho provato... ma non riesco a riprodurre l'errore:
    codice:
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    no= "D'Amico Pinco Pallino "
    
    no = escape(no); 
    
    alert('ojdest.php?nome='+no+'&company=pippo'); 
    //-->
    </SCRIPT>
    Puoi postare il codice completo (senza le parti php che il browser non riceve) che ti crea problemi?

    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

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.