Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    aggiungere attributi a tutti gli input text

    ciao e buona domenica

    come posso fare ad assegnare in automatico degli attributi a tutti gli input text?

    io attualmente ho questo codice:

    <input type="text" name="utente" id="utente" onBlur="this.style.background='#ffffff';" onFocus="this.style.background='#FFFF99'" />

    e mi piacerebbe trasformarlo in <input type="text" name="utente" id="utente" />

    qualche consiglio?
    :master:
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Javascript
    codice:
    function getAllTextInputs() {
        var els = document.getElementsByTagName('input');
        for (var i=0; i<els.length; i++) {
            if (/^text$/.test(els[i].type)) setEventsTo(els[i]);
        }
    }
    
    
    function setEventsTo(el) {
       el.onblur() {
          this.className = 'unfocused';
       }
       el.onfocus() {
          this.className = 'focused';
       }
    }
    css
    codice:
    .focused { background: #ff9; }
    .unfocused { background: #fff; }
    Cambiando le classi (invece di settare lo stile via js) separi l'aspetto logico da quello presentazionale.

    All'evento onload della pagina (o DomLoad se hai la funzione che rileva questo evento) chiami la funzione getAllTextInputs
    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 gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    grazie mille,

    però mi genera errore la funzione setEventsTo.

    avvio la chiamata tramite il prototype:
    Event.observe(window, 'load', getAllTextInputs);

    e la funzione viene richiamata correttamente.

    il firebug mi dice questo:
    missing ; before statement
    el.onblur() {
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  4. #4
    Prova così:
    codice:
    Event.observe(window, 'load', function(){getAllTextInputs});

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    Originariamente inviato da H5N1_Aviaria
    Prova così:
    codice:
    Event.observe(window, 'load', function(){getAllTextInputs});
    la chiamata observe non ha problemi, l'errore è in questa funzione:

    function setEventsTo(el) {
    el.onblur() {
    this.className = 'unfocused';
    }
    el.onfocus() {
    this.className = 'focused';
    }
    }

    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  6. #6
    La funzione Event.observe deve ricevere in input come terzo parametro una funzione.
    Nella forma che ti ho consigliato ti assicuri che il paramentro sia una funzione.
    Non sono sicuro che l'errore, però, venga generato per questo motivo, ma fai un tentativo.
    Fammi sapere

  7. #7
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    la chiamata observe non ha problemi


    comunque, per scrupolo, ho provato anche come mi hai detto ma ripeto il problema è qui:

    function setEventsTo(el) {
    el.onblur() {
    this.className = 'unfocused';
    }
    el.onfocus() {
    this.className = 'focused';
    }
    }

    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  8. #8
    codice:
    var setEventsTo= function(el) {
        el.onblur= function() {
        this.className = 'unfocused';
        }
        el.onfocus=function() {
        this.className = 'focused';
        }
    }

  9. #9
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    Originariamente inviato da H5N1_Aviaria
    codice:
    var setEventsTo= function(el) {
        el.onblur= function() {
        this.className = 'unfocused';
        }
        el.onfocus=function() {
        this.className = 'focused';
        }
    }
    perfetto

    perchè hai dovuto trasformare setEventsTo ? E' una prerogativa del prototype oppure è una soluzione a questo caso specifico?
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  10. #10
    Javascript è un linguaggio flessibile.
    A volte troppo.
    Per questo è affascinante
    Una variabile, un Oggetto, un Array, un Numero, una Stringa... sono tutti Oggetti che possono essere considerati di tipo "variant".
    O meglio, non lo sono, ma sono spesso trattati come tali.
    In alcuni contesti, però è necessario essere "rigidi" con questa flessibilità.
    Non ci accorgiamo della differenza fra
    codice:
    var x= function(y){}
    e
    codice:
    function x(y){}
    fino a che non andiamo a verificare la differenza fra
    codice:
    alert(x);
    alert(x());
    Prova questo divertente esperimento e disintegrati il cervello
    codice:
    function x(y){
    alert (y);
    }
    alert(x);
    alert(x(10));
    alert(eval(x));
    alert(eval(x(10)));

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 © 2024 vBulletin Solutions, Inc. All rights reserved.