Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    74

    passaggio porzione di codice html da php a javascrip

    Ciao a tutti,
    mi sto picchiando con una funzione che dovrebbe passare passare una porzione di codice html da php a javascript che provvede ad inserirlo come innerHTML dentro a un div. Il codice è il seguente:

    php:

    $var_html="Test";
    echo "<input type='button' id='bt' onclick='imposta($var_html)'/>";

    js:

    function imposta(contenuto)
    {


    if(!document.getElementById('div_filtro_testate'))
    {

    var nuovo_div = document.createElement ("div");
    nuovo_div.id='div_filtro_testate';
    nuovo_div.innerHTML=contenuto;
    document.getElementById('paginazione').appendChild (nuovo_div);

    }
    }

    Js non riconosce il parametro passato come stringa e genera un errore perchè 'interpreta' i caratteri speciali come <. Ho provato anche a racchiuderlo tra virgolette ma niente da fare. Secondo voi dove sbaglio?

    Grazie in anticipo!!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non ti e' venuto in mente di esaminare cosa riceve il browser per vedere il minestrone di apici che hai fatto ?

    Scherzi a parte devi semplicemente alternare (sapientemente) apici e virgolette ( o doppiapici che di si voglia ) oppure nel dubbio anteporre al carattere speciale un carattere di escape per farlo interpretare correttamente:

    $var_html="<a href=\"test\">Test</a>";
    echo "<input type='button' id='bt' onclick='imposta($var_html)'/>";
    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
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    74
    Ho provato ed in effetti se scrivo echo $var_prova viene correttamente visualizzato il link, però il problema rimane nel passaggio della variabile a js:

    echo "<input type='button' id='bt' onclick='imposta($var_html)'/>";

    facendo click sul bottone viene visualizzato un errore di sintassi in corrispondenza del simbolo <

    SyntaxError: syntax error

    imposta(Test)
    ^
    --------^

    Devo codificare in qualche modo i caratteri speciali per farli digerire a js?

    Grazie.

  4. #4
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530

    $var_html="Test";
    echo "<input type='button' id='bt' onclick='imposta(\"$var_html\")'/>";


    - o -


    $var_html="Test";
    echo "<input type='button' id='bt' onclick='imposta(\"" . $var_html . "\")'/>";

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    74
    Così lo interpreta e scrive il codice..io vorrei che solo su click la porzione di html venga passata come stringa a js che si occuperà di inserire l'html passato come innerHTML del div. Credo che comunque sia sempre un problema di apici..

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.