HTML e lettore Barcode

  • Creatore Discussione Creatore Discussione pup3770
  • Data di inizio Data di inizio

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Ciao a tutti,
come da titolo ho un problema con una pagina web scritta in PHP e HTML. Il problema è dovuto al fatto che la pistola barcode dopo aver sparato mi da in automatico l'invio. Come fare ad evitare ciò ed anzi fare un'altra operazione?

Mi spiego meglio. Ho una pagina web in cui ho diversi campi di inserimento (FORM) tra cui uno che utilizzo per l'inserimento del barcode. Tutti i valori inseriti nei campi vengo memorizzati mediante una "mysql_query" in PHP. Cosa mi succede: appena sparo al barcode, in automatico mi da l'invio e mi effettua la chiamata a funzione e quindi salvataggio su DB. Se io volessi far si che dopo aver sparato non viene in automatico dato l'invio oppure volessi scendere all'area di testo seguente, come posso fare?

Ecco una parte del codice:
HTML:
...

<FORM METHOD="post" ACTION="nome_file.php"> 
<b>Barcode:</b><br> <INPUT TYPE="text" NAME="barcode" VALUE="Inserisci un termine" ONFOCUS="if(this.value==this.defaultValue)this.value=''"><br><br>
	
<b>Valore1:</b><br> <INPUT TYPE="text" NAME="valore1" VALUE="Inserisci un termine" ONFOCUS="if(this.value==this.defaultValue)this.value=''"><br><br>

<INPUT TYPE="submit" VALUE="Inserisci">
</FORM>	

...

PHP:
<?php  

... 

$query2 = "INSERT INTO ... (barcode, valore1) VALUES ('{$_POST['barcode']}','{$_POST[valore1']}')"; 
if (mysql_query ($query2, $connessione)) 
        echo ("Inserimento riuscito con successo!"); 

... 

?>


Attendo vostre gentili risposte

Sono un pochino disperato e senza speranze perché ho scritto nell'area PHP e non ho ricevuto risposte, e non trovo neanche nelle impostazioni degli input di windows informazioni.
 
Codice:
$('form').submit(function(e){
  e.preventDefault();
});

Questo previene che l'invio invii il form
 
grazie mille per la risposta. Ma sai non sono molto pratico, dove e come dovrei utilizzarla?
 
Ragazzi ho trovato qualcosa:

HTML:
<form name="form1" onsubmit="return false">
<input type="text">
<input type="button" value="submitform" onclick = "document.form1.submit()">
</form>

che implementandolo funziona ma non nel mio caso perché io ho più aree di inserimento nella stessa FORM.

Come posso modificarla per fare al caso mio?
 
Ragazzi buone notizie, ho risolto.

Vi dico come: Ho modificato il codice:

HTML:
...

<FORM METHOD="post" ACTION="nome_file.php"> 
<b>Barcode:</b><br> <INPUT TYPE="text" NAME="barcode" VALUE="Inserisci un termine" ONFOCUS="if(this.value==this.defaultValue)this.value=''"><br><br>
	
<b>Valore1:</b><br> <INPUT TYPE="text" NAME="valore1" VALUE="Inserisci un termine" ONFOCUS="if(this.value==this.defaultValue)this.value=''"><br><br>

<INPUT TYPE="submit" VALUE="Inserisci">
</FORM>	

...

in:

HTML:
...

<FORM METHOD="post" name="form1" onsubmit="return false" ACTION="nome_file.php"> 
<b>Barcode:</b><br> <INPUT TYPE="text" NAME="barcode" VALUE="Inserisci un termine" ONFOCUS="if(this.value==this.defaultValue)this.value=''"><br><br>
	
<b>Valore1:</b><br> <INPUT TYPE="text" NAME="valore1" VALUE="Inserisci un termine" ONFOCUS="if(this.value==this.defaultValue)this.value=''"><br><br>

<INPUT TYPE="button" VALUE="Inserisci" onclick="document.form1.submit()">
</FORM>	

...

Quindi ho risolto utilizzando:
Codice:
onsubmit="return false"
e
Codice:
onclick="document.form1.submit()"
.

Sicuramente avrei potuto utilizzare funzioni create ad hoc ma attualmente per quello che mi serve non mi interessava.

Io chiudo il POST ma se volete riaprirlo per scrivere altre migliori soluzioni fate pure, sono sempre utili.
 
Ultima modifica:

Discussioni simili