Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Classe non rilevata

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158

    Classe non rilevata

    ciao a tutti!!

    Ho aggiunto uno script ad una mia pagina che contiene una classe per creare un input color. ossia un campo per inserimento colori tramite palette.
    si richiamo cosi:

    <input class="color">

    fino a qui tutto bene... quando però voglio stampare la stessa cosa, ma attraverso una variabile come in questo caso:

    var riga = "<input class='color'>";

    visualizzo solamente una classica textbox.

    qualcuno sa dirmi come mai la classe non viene rilevata in questo caso???

    grazie a tutti in anticipo!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Devi ricaricare lo script.
    Comunque potresti usare
    codice HTML:
    <input type="color">
    No

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    In che senso ricaricare lo script tampertools?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Lo script a un certo punto (ma senza vederlo non posso sapere quando) parte e "aggiusta" gli input.color
    Tu dei farlo ripartire perché altrimenti lui non vede il tuo nuovo input
    No

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    la mia pagina è così in modo semplificato
    <html>
    <head>
    <script type="text/javascript" src="jscolor/jscolor.js"></script>

    <script>
    function stampa(){

    var r = "<input class='color'>";
    document.write(r);

    }
    </script>
    </head>
    <body>
    ...
    </body>
    </html>

    Scusa ma non capisco come ricaricarlo...o richiamarlo...

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, come accennato da tampertool, dovrai "riapplicare" tale classe agli elementi creati runtime.
    Ci sono degli esempi nella pagina di tale libreria.
    Prova una cosa del genere:

    codice:
    <html>
    <head>
       <script type="text/javascript" src="jscolor/jscolor.js"></script>    
     
       <script>
       function stampa(){
    
           var r = document.createElement('INPUT')
    new jscolor.color(r)
    document.getElementsByTagName('BODY')[0].appendChild(r)
    
       }
       </script> 
    </head>
    <body>
    ...
    </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    Funziona perfettamente... l'ultima cosa... come applico la stessa cosa a questa funzione semplice?

    function stampa(){

    var righe = "";


    // Inserisco una riga ad ogni ciclo


    for(i=1; i<=numero_colori; i++){

    var id = "colore"+i;
    var per ="percentuale"+i;


    righe = righe + "colore numero "+i+" : <input class='color' id='"+id+"'><br><input type='text' id='"+per+"' /><br>";

    }


    box.innerHTML=righe;

    }

    grazie mille ancora!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    Come faccio ad assegnare l id la classe ecc e a stamparlo nel modo che ho scritto sopra.?

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Si può fare in vari modi. Con jQuery sarebbe ancora più semplice.

    Comunque puoi fare una cosa del genere (posto un esempio completo):
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script type="text/javascript" src="jscolor/jscolor.js"></script>
        <script type="text/javascript">
          function stampa(){
            var box = document.getElementById("box");
            var numero_colori = 10;
            for(i=1; i<=numero_colori; i++){
              var id = "colore"+i;
              var per ="percentuale"+i;
               box.insertAdjacentHTML("beforeend", "colore numero "+i+" : <input  class='color' id='"+id+"'><br><input type='text'  id='"+per+"' /><br>");
              new jscolor.color(document.getElementById(id));
            }
          }
        </script>
      </head>
      <body><input type=button value="Elabora" onclick="stampa()">
      <div id="box"></div>
      </body>
    </html>
    PS: quando posti sul forum, è meglio fornire possibilmente tutti i dettagli all'inizio.
    PPS: quando posti del codice sul forum, è opportuno usare gli appositi tag di formattazione.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    Funziona alla grande! Grazie mille!
    Scusami per le mancanze, ma è la prima volta che scrivo. lo terrò presente! grazie ancora!

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.