Script para capturar lo que el usuario escribe en un campo

Que tal amigos, eh estado probando diferentes ideas seguí diferentes tutoriales sobre la función keypress, pero aun estoy al 50% de mi idea, el objetivo de mi ejercicio es el siguiente:

1, capturar lo que el usuario escribe en el campo nombre, SIN que pulse en el botón enviar, intente también en el evento change, pero no tuve éxito, hasta ahora el que más se acerca al objetivo es keypress.

2, una vez logrado capturar la información del input nombre, requiero almacenar esas tecla capturadas , en una base de datos de MySQL, el reto acá, vuelvo a reiterarlo es capturar la información en la base de datos, sin que el usuario pulse en el botón «Enviar», es un formulario breve, que de hecho estaba pensando, como probablemente se almacene bastante información, no sé que me recomienden si guardar la información de una manera tradicional o darle algún formato en especial, JSON por ejemplo, acá mi código:

Código:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<title>Ejercicio Practico Formulario </title>
</head>
<body> <form method="post" >
<div class="form-row">
<div class="form-group col-md-6"> <div class="input-group-lg">
<!-- aca añadi dentro del input la funcion onkeypress-->
<input type="text" id="nOpinion" onkeypress="myFunction()" class="form-control my-3" placeholder="Tu nombre" name="nombre_user" required> <input type="email" id="nEmail" class="form-control my-3" placeholder="Tu email" name="correo_user" required>
</div> <div class="form-group">
<label for="inputAddress">Direccion</label>
<input type="text" class="form-control" id="inputAddress" name="direccion" placeholder="Inserta tu direccion">
</div>
<div class="form-group row">
<label for="example-tel-input" class="col-2 col-form-label">Telefono</label>
<div class="col-10">
<input class="form-control" type="tel" name="telefono" id="example-tel-input">
</div>
</div>
<div class="form-group">
<label for="inputAddress2">Referencias de lugar donde radica</label>
<input type="text" class="form-control" id="inputAddress2" name="referencias" placeholder="Casa,Departament,Oficina">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputCity">Ciudad</label>
<input type="text" class="form-control" name="ciudad" id="inputCity">
</div>
<div class="form-group col-md-4">
<label for="inputState">Nacionalidad</label>
<select id="inputState" class="form-control">
<option selected>Mexicano...</option>
<option> Argentina...</option>
<option> Brasil...</option>
<option> Española...</option>
<option> Colombiana...</option>
</select>
</div>
<div class="form-group col-md-2">
<label for="inputZip">Codigo Postal</label>
<input type="text" class="form-control" name="cp" id="inputZip">
</div>
</div>
<div class="form-group"> <div class="form-group">
<label for="exampleTextarea">Escriba su Opinion</label>
<textarea class="form-control" id="exampleTextarea" rows="3"></textarea>
</div> </div>
<button type="submit" class="btn btn-primary">Enviar</button>
</form> <script>
document.getElementById("nOpinion").onkeypress = function (){myFunction()}; function myFunction(){
/* si me detecta la funcion pero no logro imprimirlo o embeberlo en el div que esta debajo */
alert("tecla pulsada en el campo nombre");
}
</script> </head>
<body>
<h1>Información del teclado</h1>
<p>Pulsa una tecla y te daré la información sobre la misma.</p>
<div id="respuesta"><div>
</body> </body>
</html>

Ver más sobre el tema y los comentarios en el foro