Evento onkeypress (Invio)

antonioantonio

Nuovo Utente
27 Set 2015
25
0
0
Ciao a tutti

sono nuovo del forum, ed anche dell'utilizzo dell'HTML. Volevo chiedere qualche consiglio riguardo a questo form:
codice HTML:
HTML:
<head>
       <title>Inserimento Barcode</title>
 </head>
<body>
<table border="0">  
  <tr>    
     <td align="center">Inserisci il Barcode</td>  
  </tr>  
  <tr>    
     <td>      
        <table align="center">        
             <form method="post" runat="server" action="inserisci.php" autocomplete="off">                            <tr>          
                 <td>BARCODE</td>          
                 <td> <input type="number" id="prova" min="10000000000000000000"                                                  name="barcode" value="" size="30" autocomplete="off" onKeyPress="">                          </td>        
               </tr>        
               <tr>          
                   <td></td>          
                   <td align="right"><input type="submit" name="submit" value="Inserisci">
              </td>        
               </tr>        
              </form>        
              </table>      
            </td>    
         </tr>
      </table>
   </body>
</html>
Nello specifico volevo utilizare questo semplice form per inserire dei codici a barrre in un DB MySQL creato su Altervista,
I miei obbietti sarebbero:
- Che la lunghezza minima del valore inserito nel box fosse di 20 cifre (Non riuscendoci ho utilizzato min="10000000000000000000".

- Che alla pressione del tasto Invio il valore venisse passato al DB e il contenuto del box venisse cancellato automaticamente. Questo per evitare che una rilevazione parziale del barcode causi la scrittura parziale del codice e quindi una seconda rilevazione andrebbe a completare le 20 cifre, ma creando di fatto un codice a barre inesistente. ES: per un codice a barre (01234567890123456789) una prima rilevazione incompleta scriva le prime 12 cifre e la seconda rilevazione vada a completare le 20 cifre (chiaramente ricominciando dalla prima rilevata) causando la generazione di un codice a barre fittizio, che nella fattispecie sarebbe 01234567890101234567

Ecco questa è una cosa molto importante da smarcare, ma proprio non sono riuscito a risolvere! Ho cercato anche molto in rete ma non ho trovato nulla che potesse aiutarmi (o magari non ho capito io come rendere idoneo quello che avevo trovato, per la risoluzione del mio problema.

Qualcuno di darebbe una mano?

Grazie in anticipo!
 
Ciao, non capisco cosa intendi per invio parziale... se c'è un invio è un invio non centra nulla parziale...
comunque se vuoi che sul campo ci siano minimo di 20 cifre, puoi ricorrere a javascript o a PHP.
In javascript:
Codice:
<head>
<script type="text/javascript">
<!--
function conta() {
if (document.getElementById("prova").value.length < 20) {
alert("Il codice deve essere di 20 cifrei.");
document.getElementById("prova").focus();
return false;
}
else {
return true;
}
}
-->
</script>
</head>
<body>
<form action="inserisci.php" method="post" onsubmit="return conta();">
<input type="number" id="prova"  value="" />
<input type="submit" value="Inserisci" />
</form>

Considera però che javascript potrebbe essere disattivato nel pc dell'utente.
Se ti interessa sapere come si fa con php, fai un nuovo post nella sezione PHP :)
 
Ciao filomeni,

grazie mille per lo script js!

non capisco cosa intendi per invio parziale... se c'è un invio è un invio non centra nulla parziale...

In realtà io parlavo di rilevazione parziale da parte del lettore di barcode , e conseguentemente di invio di dati che sarebbero solo parziali

Grazie ancora
 

Discussioni simili