ok mi sa che c'è un problema di fondo

la checkbox passa un certo valore contenuto in "value" (nel tuo caso "Si") solo quando è selezionata, altrimenti non passa niente

questo vuole dire che quando farai il controllo

se checkbox1="" vuole dire che checkbox1<>"Si"

dunque l'if assegnerà a checkbox il valore "No"