Validar un formulario utilizando JavaScript

Soy un principiante y he escrito un código para validar el formulario como:

function validateForm(){
var x=document.forms["myForm"]["fname"].value;
if (x==null || x==""){
alert("First name must be filled out");
return false;
  }}
  <!-- html part-->
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form><br>

El problema con este código es presionar el botón enviar, se dispara lavalidateForm función. ¿Cómo llamar a la función cuando se enfoca la pérdida de objetos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta