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

    Script di append che funziona solo con IE

    Salve

    Ho un file editor.js che contiene delle funzioni per interagire con un area di testo.

    All'interno è presente questa funzione:
    codice:
    function editor_appendHTML(objname, html) {
      var editor_obj = document.all["_" +objname + "_editor"];
      var isTextarea = (editor_obj.tagName.toLowerCase() == 'textarea');
    
      if (isTextarea) { editor_obj.value += html; }
      else            { editor_obj.contentWindow.document.body.innerHTML += html; }
    }
    Questa funzione permette di aggiungere del testo all'interno della textarea. Lo uso per mettere il codice degli smiles.
    Per esempio:
    codice:
    onclick="editor_appendHTML('testo', ':)');"
    Questo funziona perfettamente su Internet Explorer.
    Per quanto riguarda gli altri browser non so perchè ma non funziona. Se clicco su una emoticon mi dà problemi (invece di inserire lo smile invia il testo già scritto per esempio).

    Potrestre controllare la funzione e dirmi se c'è qualcosa che crea incompatibilità con gli altri browser? :master:

    Grazie mille,
    Pictor

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Perchè document.all funziona solo IE e Opera... con FF e Mozilla non può funzionare.

    Devi sotituirlo con document.getElementById("id_textarea")

    Io lo cambierei minimo così:

    codice:
    function editor_appendHTML(objname, html) {
      var editor_obj = document.getElementById("id_textarea");
      var isTextarea = (editor_obj.getAttribute("type").toLowerCase() == 'textarea');
    
      if (isTextarea) { editor_obj.value += html; }
      else            { editor_obj.contentWindow.document.body.innerHTML += html; }
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372

    Re: Script di append che funziona solo con IE

    Originariamente inviato da pictor
    Salve

    Ho un file editor.js che contiene delle funzioni per interagire con un area di testo.

    All'interno è presente questa funzione:
    codice:
    function editor_appendHTML(objname, html) {
      var editor_obj = document.all["_" +objname + "_editor"];
      var isTextarea = (editor_obj.tagName.toLowerCase() == 'textarea');
    
      if (isTextarea) { editor_obj.value += html; }
      else            { editor_obj.contentWindow.document.body.innerHTML += html; }
    }
    Questa funzione permette di aggiungere del testo all'interno della textarea. Lo uso per mettere il codice degli smiles.
    Per esempio:
    codice:
    onclick="editor_appendHTML('testo', ':)');"
    Questo funziona perfettamente su Internet Explorer.
    Per quanto riguarda gli altri browser non so perchè ma non funziona. Se clicco su una emoticon mi dà problemi (invece di inserire lo smile invia il testo già scritto per esempio).

    Potrestre controllare la funzione e dirmi se c'è qualcosa che crea incompatibilità con gli altri browser? :master:

    Grazie mille,
    Pictor
    il document.all vale solo per IE. Per FF ( ma anche per IE ) devi usare document.getElementById('id_del_oggetto') quindi nel tuo caso dovresti dare un id uguale al name.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.