Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Validare campo forum

  1. #1

    Validare campo forum

    Ciao,
    ho un form con 105 campi input text,
    vorrei che quando un utente uscisse dal campo,
    sei i caratteri non sono numerici o un punto,
    compare un alert e il focus torna sul campo "incriminato".

    L'avevo fatto con una funzione java ma non mi ricordo più il funzionamento.

    Grazie
    Gio

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi farlo in js.
    Ti sposto nel forum JavaScript.

    Roby

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    <script>
    function check(inp) {
      if (! (inp.value.match(/^[0-9]+$/) || inp.value.match(/^\.$/))) {
         alert(inp.id + ' non è corretto');
         inp.focus();
      }
    }
    </script
    
    
    <input type="text" id="campogenerico" onblur="check(this)">

    Edit: ricopialo, c'era una parentesi di troppo... ora va
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    va quasi bene:

    non si riesce più a togliere l'alert!
    non so se il problema è quello,
    ma sul blur, deve controllare solo quel campo, non tutti

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    infatti lo script valida un campo... nell'esempio ce n'è uno solo
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    il problema è che quando vado su un secondo campo, esce l'alert e si risposta sul primo (quello sbagliato), ma a quel punto parte il controllo anche sul secondo che perde il focus, ed entra in un loop di alert

  7. #7
    capisci subito cosa voglio dire se lo provi...

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    allora basta togliere l'alert dalla funzione... piuttosto inserisci un messaggio di errore con innerHTML

    codice:
    <script>
    function check(inp) {
      if (! (inp.value.match(/^[0-9]+$/) || inp.value.match(/^\.$/))) {
         inp.focus();
         document.getElementById(inp.id + '_warning').innerHTML = inp.id + " è errato";
      }
    }
    </script
    
    
    <input type="text" id="campogenerico" onblur="check(this)">
    <div id="campogenerico_warning"></div>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.