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

    Obbligare focus su campi forum

    Ciao a tutti,

    avrei questa necessità:

    obbligare l'utente ad eseguire il focus sui campi del form prima di poter procedere con l'invio. Ovviamente se l'utente non esegue il focus sui campi, non può inviare il form.
    Vorrei, inoltre, che i campi fossero "colorati" di rosso almeno finchè non viene eseguito il focus, una volta eseguito il focus tornano "normali".

    Come posso fare una cosa del genere?

    Grazie!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Devi usare onfocus e onblur in ogni campo e il tasto submit impostato su disabled e una funzione che verifichi la classe impostata dall'evento onblur (uscita dal campo) valido quando tutti sono validi abiliti il submit
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao e grazie della risposta!!!

    il mio problema è proprio la funzione. come potrei farla?
    tanti if tipo:
    codice:
    if (document.getElementById("nome_input").style.backgroundColor = "colore" && document.....) {
    abilita SUBMIT;
    }
    Potrebbe andare o esiste qualcosa di meglio?

    Grazie

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Dipende da quanti input devi verificare se sono 5/10 puoi fare cosi altrimenti un ciclo for sul tag-name (document.getElementsByTagName) input del form, ma non è cosi fondamentale, con il for risparmi risparmi qualche riga di codice.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Da ignorante ho provato con:
    codice:
    function controlla() {
    var data_inserimento;
    var codice_cliente;
    data_inserimento = document.getElementById("data_inserimento").style.backgroundColor;
    codice_cliente = document.getElementById("codice_cliente").style.backgroundColor;
    if (data_inserimento == "#ffffff"; && codice_cliente == "#ffffff";) {
    return;
    } else {
    alert("non hai controllato tutti i campi!");
    }
    }
    Dando la gestione all'onClick del submit, che quindi, rimane sempre abilitato e verifica direttamente al momento del click.

    Ovviamente non funziona, o meglio, permette sempre di "submittare" il form.

    Dove sbaglio?

    Grazie ancora!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    - nell'if non ci vanno i ;
    - la funzione va applicata all'evento onSubmit

  7. #7
    Modifiche sagge! (maledetto copia ed incolla)

    Però non funziona ancora bene. Mi compare sempre l'alert, sia che io sia passato sugli input sia che non ci sia passato e quando premo sull'ok dell'alert, il form viene comunque sempre inviato.

    codice:
    function controlla() {
    var data_inserimento;
    var codice_cliente;
    data_inserimento = document.getElementById("data_inserimento").style.backgroundColor;
    codice_cliente = document.getElementById("codice_cliente").style.backgroundColor;
    if (data_inserimento == "#ffffff" && codice_cliente == "#ffffff") {
    return;
    } else {
    alert("Non hai controllato tutti i campi!");
    return false;
    }
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se ti compare sempre l'alert significa che la condizione nell'if è sempre falsa, prova a mettere degli alert per verificare come sono valorizzate le 2 variabili( alert(data_inserimento) ecc...).

    Riguardo il secondo problema nell'evento onSubmit devi richiamare la funzione in questo modo:

    onSubmit="return controlla()"

  9. #9
    Ecco perché non andava.

    Mi restituiva rgb(255, 255, 255) invece del colore in esadecimale!

    Ora sembra andare tutto!!!


    GRAZIE!!!!

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.