Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di mariana
    Registrato dal
    Feb 2006
    Messaggi
    125

    Cancellare value iniziali da form prima dell'invio

    Ciao a tutti,
    sto creando un form di invio richiesta informazioni con dei campi con valore iniziale.

    Alcuni di questi campi sono obbligatori e con un controllo non permetto l'invio se questi campi sono vuoti.
    <input name="Email" type="text" class="campo3" id="Email" value="Email" size="50"/><!--
    for="Email"
    required="true"
    min="2"
    errorMsg="Per favore, inserisca correttamente il suo indirizzo Email!"
    -->

    Considerando che questi campi sono sempre pieni (del valore iniziale), vorrei aggiungere un controllo che mi svuoti i campi non compilati, che contengono appunto il valore iniziale, in modo da risultare vuoti e quindi non permettere l'invio.

    E' possibile in qualche modo?

    Grazie mille a tutti!
    Mariana

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Al submit del form esegui il controlli di tutti i dati dei campi quelli obbligatori blocchi con un retrun false quelli facoltativi verifichi il contenuto se è identico a quello pre-impostato lo svuoti es:

    if(document.momeform.nomecampo.value=='valoredefau lt'){
    document.nomeform.nomecampo.value='';}
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di mariana
    Registrato dal
    Feb 2006
    Messaggi
    125
    chiaro... se voglio fare il controllo su tutti i campi? senza ripetere il controllo per ognuno?
    grazie ancora!

  4. #4
    nei valori di default aggiungi all'inizio di ognuno un carattere speciale tipo # che tra l'altro non può essere inserito dall'utente, e poi con una regexp verifichi se è presente quel carattere.

  5. #5
    Utente di HTML.it L'avatar di mariana
    Registrato dal
    Feb 2006
    Messaggi
    125
    se non ho capito male il codice sarebbe

    if(document.momeform.nomecampo.value=='#'){
    document.nomeform.nomecampo.value='';}

    Così facendo mi fa il controllo su tutti i campi!
    E' corretto?

    Grazie ancora per il supporto!

  6. #6
    Puoi usare defaultValue:

    codice:
    <form name="" onsubmit="return validami(this);">
    <input name="Nome" type="text" class="campo3" id="Nome" value="Nome" size="50" />
    <input name="Cognome" type="text" class="campo3" id="Cognome" value="Cognome" size="50" />
    <input name="Email" type="text" class="campo3" id="Email" value="Email" size="50" />
    <input type="submit" value="inviami" />
    </form>
    
    <script>
    function validami(form){
    for(var e=0; e<form.elements.length; e++){
    	if(form.elements[e].type=="text" && form.elements[e].value==form.elements[e].defaultValue){form.elements[e].value='';}
    }
    return true;
    }
    </script>
    Nel tag form non ho messo le proprietà method e action perchè quelle le sai tu, le aggiungi te.
    Il controllo a questa maniera avviene su tutti i campi di tipo "text" ed è indipendente dalla cognizione specifica di quali o quanti essi siano e non necessita di definire nella funzione il valore di default poichè ci pensa defaultValue a rintracciarlo.

    Per apprezzarne meglio il funzionamento, metti
    return false;
    al posto di
    return true;

    quando poi carichi il codice in produzione, rimettici
    return true;

  7. #7

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da mariana
    thank you
    - Meglio tardi che mai!
    - Più velocità più pericolo!
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Originariamente inviato da cavicchiandrea
    - Meglio tardi che mai!
    - Più velocità più pericolo!

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.