non capisco perche ricarica la pagina e manda i dati al server
sito www.laboraccio.altervista.org

codice HTML:
<html>
    <head>
        <title></title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta charset="utf-8">
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/3.14.1/math.min.js"></script>
        <link href="config.css" type="text/css" rel="stylesheet">
    </head>

    <body>

        <div id="form-riconoscimento">
            <h4>modulo di riconoscimento</h4>
                <table>
                    <form method="get" action="server.php">

                        <tr>
                            <td><input type="text" name="username" placeholder="username" id="username"></td>
                            <td><button onclick="generaUsername()">genera username</button></td>
                        </tr>    
                        <tr>    
                            <td><input type="password" name="password" placeholder="password"></td>
                        </tr>
                        <tr>
                            <td><input type="radio" name="opzioneUtente" value="registrareUtente">registrasi</td></tr>
                        <tr>
                            <td><input type="radio" name="opzioneUtente" value="loggareUtente">accedere</td>
                        </tr>
                        <tr>
                            <td><input type="submit" value="invio"></td></tr>
                    </form>
                </table>
        </div>
        <script type="text/javascript">
            codiceAlfa = "HAvc13nmsdw";
            caratteri = codiceAlfa.split(""); //return array
            codici = [];
            function generaUsername(){
                  for(i=0; i<=caratteri.length; i++){
                      codici.push(caratteri[math.randomInt(caratteri.length)]) ;
                  }
                codice = codici.join(""); //return string
                document.getElementById("username").value=codice;
            }
  
        </script> 

</body>
</html>