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

    PHP e JS passare una variabile sul onClick

    Ciao

    ho un'immagine sulla quale faccio click. Alla pressione del mouse, chiamo una funzione alla quale passo tre variabili in PHP. La funzione, in html, restituisce questo codice

    onClick ='cambia("pittura_oli", "857399449195.jpg", "Ciao
    · punto 1
    · punto 2
    · punto 3


    I 3 argomenti passati con PHP sono variabili che contengono del testo. Le prime due sono il nome di una categoria e il nome della foto relativa. Mentre la terza è la descrizione della foto.
    Notate gli "a capo" ! Spezzando la linea, il JS mi restituisce un errore e la pagina chiaramente non funziona. Il fatto è che il testo della 3 variabile può contentere qualsiasi cosa (a capo compresi). Come faccio a fare in modo che la stringa venga presa in modo corretto ?
    TORTA DI RISO .. F I N I T A !!

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

  2. #2
    Sostituisci gli "accapo" con i relativi codici di escape javascript (es. \r \n).

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Ciao

    ti rispondo ora perché prima non ce l'ho fatta. Il testo in questione verrà copiato da word principalmente e incollato in una textarea ed infine inviato in un DB.
    Poi prendo i dati nel db con una query e li metto nella variabile di cui ho parlato. Il metodo da te suggerito funziona nel mio caso dato che non esiste un vero e proprio tag
    nel testo ?
    TORTA DI RISO .. F I N I T A !!

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

  4. #4
    Il problema che incontri non deriva dai tag BR nel testo ma dalla presenza di CRLF. Prova ad implementare la soluzione suggerita, se non ci riesci puoi postare il codice qui e vediamo cosa si puo' fare.

  5. #5
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    ok ti faccio sapere appena posso !
    Grazie
    TORTA DI RISO .. F I N I T A !!

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

  6. #6
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Ciao

    allego il codice che uso perché mi è venuta in mente un'altra cosa. Oltre agli accapo dovrei "proteggere" il codice anche per quanto riguarda gli elenchi puntati, numerati e via dicendo.... per cui sto pensando se valga la pena proseguire su questa strada. Però, dato che tutto il sito si basa su questa struttura, se non funziona devo rivedere tutto !!

    Spiego in 2 parole cosa fa. Ho un'immagine al centro dello schermo che rappresenta una categoria di foto. Sotto a questa foto ci sono una serie di miniature. Cliccando sulla miniatura, questa prende il posto della foto al centro dello schermo. E alla sua destra compare la descrizione (parametro che ora mi fa disperare) che passo alla funzione qui sotto. Come idea mi sembrava ottima: mi tiro fuori tutti i dati che mi servono per descrivere la foto e li passo alla funzione che mostra la foto cliccata.

    ----

    $descrizione_foto = $array_descrizioni[$i];

    echo "[img]$file[/img]" ;

    ----

    L'evento che mi interessa è onClick gli altri è come se non ci fossero in questo contesto : chiama la funzione con i 3 parametri e, come detto, il 3 è quello che contiene il testo prelevato dal DB che può contenere qualsiasi cosa.

    Allego anche uno stralcio della funzione CAMBIA. Copio solo la parte in cui prende il testo che le viene passato, e lo copia nella textarea adibita a contenere le descrizioni delle foto

    ----

    function cambia(azione, nome, descrizione)
    {
    /*
    azione = cartella delle foto del pittore
    nome = nome della foto
    descrizione = descrizione della foto
    */
    document.getElementById('descrizione_laterale').in nerHTML=descrizione;

    /* qui c'è altra roba ma non serve allo scopo descritto */

    }

    ----

    Qualsiasi aiuto è ben accetto !
    TORTA DI RISO .. F I N I T A !!

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

  7. #7
    Studia questo codice:

    Codice PHP:
    <?php 
    $php 
    '[b]Test[/b]



    Hello World!</p>'
    ;
    $js json_encode($php);
    ?>
    <script language="javascript">
    alert(<?php echo($js); ?>);
    </script>

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    perchè usare json_encode per passare una stringa?

  9. #9
    perchè usare json_encode per passare una stringa?
    Tu come passeresti da PHP a JS una stringa che può contenere caratteri come \r \n, apici singoli e doppi senza rischiare di generare un parse error in Javascript?

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Si in effetti...

    Più che altro nelle rare occasioni in cui devo usare questo metodo so cosa mi sto passando, e in genere per le stringhe so che sono semplici, altrimenti uso json_encode.


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.