a condizioni normali, nell'invio del form trovi soltanto:
input type=submit
button type=submit
mentre non fanno nemmeno partire il post del form i controlli tipo:
input type=button
button type=button
diversamente, se a questi controlli associ una funzione sul click, e questa funzione continene un'istruzione del tipo:
Codice PHP:
document.forms[0].submit();
le cose cambiano
per i controlli del primo tipo dovresti mettere un return false, altrimenti l'invio della pagina avviene 2 volte:
Codice PHP:
onclick="miaSub(); return false;"
per i controlli del secondo tipo non fa diferenza.
per entrambi i tipi di controlli comunque, i rispettivi valori non vengono inviati.