• User Attivo

    Problema doppio: textareas e testo preformattato

    Salve.
    Ho avuto bisogno di inserire codice da fare copiaincollare all'utenza, quindi ho pensato alle semplici textarea.
    Nelle mie pagine web, ed anche in altri casi (praticamente tutti) sono venuto a scoprire però che in nessun modo riesco ad inserire due **textarea **o più senza che mi succeda del caos. Infatti con una textarea non succede nulla, ma la seconda, come anche la terza e cosi' via, non mi si visualizza e soprattutto mi cancella completamente tutto il sorgente che viene di seguito a quest'ultima textarea; un brutto macello, e non capisco il perchè.

    Ho cancellato il secondo probloema perchè ho risolto.
    Grazie ancora 🙂

    Alessio F.


  • User Attivo

    Non è possibile vedere un esempio del codice che hai scritto? Così sinceramente è difficile capirci qualcosa...


  • User Attivo

    Potresti fare un <div> invece della textarea, con il CSS imposti l'overflow in scroll e metti un bordo. L'effetto visivo sarà identico a quello della textarea


  • User Attivo

    E sarà possibile lo stesso inserire del codice all'interno del div overflow?


  • User Attivo

    No, devi fare l'escape dei caratteri speciali dell'html, ad esempio con la funzione *htmlspecialchars *di php oppure con qualche trucchetto in javascript

    ti posto un esempio in javascript:

    [html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
    <title>Test</title>
    <script type="text/javascript">
    function escape()
    {
    var div = document.getElementById('codice');

    var divContent = div.innerHTML;
    div.innerHTML = htmlspecialchars(divContent);
    

    }

    function htmlspecialchars(p_string) {
    p_string = p_string.replace(/&/g, '&');
    p_string = p_string.replace(/</g, '<');
    p_string = p_string.replace(/>/g, '>');
    p_string = p_string.replace(/"/g, '"');
    // p_string = p_string.replace(/'/g, ''');
    return p_string;
    };

    </script>
    <style type="text/css">
    #codice {
    width:300px;
    overflow:auto;
    font-family:"Courier New", Courier, monospace;
    border:solid 1px #666;
    white-space:pre;
    }
    </style>
    </head>
    <body onload="escape()">
    <div id="codice"><object width="425" height="344">
    <param name="movie" value="

    ">
    </param><param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param>
    <embed src="
    " type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
    </object></div>
    </body>
    </html>[/html]Ovviamente io preferisco la soluzione in php e fogli di stile e script esterni al codice. È un esempio fatto al volo


  • User Attivo

    Non ci avevo pensato, tutto chiarissimo. Grazie tante. Proviamo la soluzione javascript escape.