Ciao, di norma i checkbox non spuntati non sono presi in considerazione al submit di un form. Se per ipotesi si impostasse il valore tramite JavaScript prima di eseguire il submit (cioè 0 per il checkbox non spuntato o 1 se spuntato), il risultato sarebbe identico perché otterresti comunque un valore null per il fatto che il dato non sarà proprio inviato.
Se il tuo intento è quello di ottenere il valore 0 quando vai a processare, lato server, i dati del form (come presumo tu stia cercando di fare), puoi risolvere in due o tre modi (e probabilmente anche vari altri).
1) Il valore null lo ottieni perché quella variabile (relativa al checkbox) in sostanza non esiste. Nel tuo script lato server ti basterà una condizione per verificare se ottieni un valore null (per cui il checkbox non è stato spuntato) e agire di conseguenza. Puoi gestire la cosa usando una semplice variabile a cui attribuisci il valore del dato relativo al checkbox oppure, se quello è null, il valore 0. Quindi usare quella variabile per il tuo scopo finale (ad esempio inserirne il valore dentro un database).
2) Nel tuo form, metti un campo hidden prima del checkbox, impostagli il valore 0 e assegnagli lo stesso name del checkbox. Questo fa in modo di considerare tale valore (del campo hidden) quando il checkbox non è spuntato, o viceversa il valore del checkbox quando questo è spuntato.
codice:
<input type="hidden" name="InPromoM" value="0">
<input type="checkbox" name="InPromoM" value="1">
3) Analogamente puoi usare due input radio, dove specificare i due valori 0 e 1, costringendo quindi l'utente a selezionare uno tra quei due valori:
codice:
<label><input type="radio" name="InPromoM" value="0" checked>0</label><br>
<label><input type="radio" name="InPromoM" value="1">1</label>