Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    evidenziare/disevidenziare campi sul form

    Ciao ragazzi io uso il seguentte codice per evidenziare i campi errari nel mio form

    function evidenzia(e) {
    document.getElementById(e).style.border=3;
    document.getElementById(e).style.borderColor="#f00 ";
    document.getElementById(e).style.borderStyle="soli d";

    document.getElementById("boxcontrollo").style.disp lay="block";
    document.getElementById(e + "lab").style.color="#f00";
    document.getElementById(e + "lab").style.fontWeight="bold";
    document.getElementById(e).nextSibling.innerHTML=" *";
    }

    function disevidenzia(e) {
    document.getElementById(e).style.border=1;
    document.getElementById(e).style.borderColor="#999 ";
    document.getElementById(e).style.borderStyle="soli d";
    }

    Solo che poi i bordi delle input non ritornano al default del browser quindi ho dovuto arrangiarmi mettendo border 1 (ke è troppo spesso però per assomigliare al default) e colore grigio...ma comunque esteticamente sta male...sapete se esiste una regola che mi riporta a default un oggetto (in questo caso stiamo parlando di: bordo delle input, colore delle label, asterisco inserito in uno span dopo ogni input e far sparire quel display block all'oggetto con id boxcontrollo)
    Sarebbe ottimo fare tutto con un comando solo riportando l'aspetto della pagina a com'è quando la si carica. Grazie in anticipo

  2. #2
    secondo me ti conviene creare due classi coi css. Una per l'input di default e una per quello evidenziato

    e usare l'attributo className

    ad esempio:

    document.getElementById(e).className="error";

  3. #3
    Non conosco quest'attributo puoi spiegarmelo bene? scusa sono alle prime armi con javascript e php

  4. #4
    Pero' i css li dovresti conoscere.

    Coi css crei due classi (ad esempio una la chiami "error" e l'altra "ok", che ne so) nelle quali setti lo stile che vuoi per i campi con e senza errori

    Poi con className assegni la classe all'oggetto che vuoi.

  5. #5
    Si ma rimane lo stesso problema perche dovrei ricreare in css lo stile di default del browser (senza considerare le differenze tra i vari IE, firefox, opera etc) quindi mi perdo sempre di casa. Quello che invece cercavo era un comando che mi riportava tutto di default, mi sembra che esista una cosa del genere in css, la proprietà clear che usata su un div la riporta nel primo spazio disponibile del flusso in basso.

  6. #6
    Scusa, ma se nel definire lo stile "ok" in css lasci tutto in bianco dovrebbe darti lo stile di default.

    Oppure puoi fare

    className = ""

    o meglio ancora:

    removeAttribute("class");

    Quest'ultimo comando rimuove la classe di un oggetto.

  7. #7
    ok faccio qualche prova grazie di tutto!

  8. #8
    Niente con le classi in css mi sballa tutto....

  9. #9
    mi pare strano al limite posta il codice

    cmq usando il metodo iniziale penso che se vuoi mettere uno stile di default basta settarlo a null

    document.getElementById(e).style.border="";

  10. #10
    ah perfetto era la cosa più semplice del mondo e non ci avevo pensato!grazie 1000

    invecce sai se questa espressione è giusta?

    a lui non cambia niente se sono diverse le password il controllo non me lo fa

    if(document.getElementById("parolachiave").value != document.getElementById("parolachiave2").value){
    evidenzia("parolachiave" + "parolachiave2");
    window.scroll("0","0");
    convalida=false;
    } else {
    disevidenzia("parolachiave" + "parolachiave2");
    }

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.