Wenas como comenta Xerelo, puedes usar jquery donde puedes incluir ajax, un ejemplo por decir tengo mi form en html5
    Código PHP:
    <form id="searchForm"    >
            
            <fieldset id="cities" title="Search city..">
                <label for="name" >Search city: </label> 
                <input type="text" name="ciudad" value="" id="ciudad" placeholder="Your Name" required autofocus /> 
                <input type="button" value="btnSearch" name="btnSearch" 
                 id="btnSearch" />
                 <!-- onclick="return ajaxSearch();"-->
            </fieldset>
        </form>
..........
<div id="tab1" class="tab_content">
            <h2>Informacion</h2>
            <br><font face="verdana" size="2"><div id="message"></div>
            <div id="idcard"></div>
            <div id="nombre"></div>
            <div id="direccion"></div>
            <div id="fechapago"></div>
            <div id="fechalimite"></div>
            </font>
            
            
        </div>
......... 
    
   Código PHP:
    
<script type="text/javascript" language="javascript">
$(document).ready(function() {
var contexPath = "<%=request.getContextPath() %>";
$("#searchForm").submit(function () {
        var ciudad = $('#ciudad').val();
        $.ajax({
            type: "POST",
            url: contexPath + "/searcity.do",
            data: "city=" + ciudad ,
            dataType: "json",
            cache: false,
            success: function(data){
            var msjAjax = data.msg;
                var datosAjax = data.datosCard;
                $("#message").html(msjAjax ).slideDown('slow');
                $("#idcard").html(datosAjax .idcard).slideDown('slow');
                $("#nombre").html(datosAjax nombre).slideDown('slow');
                $("#direccion").html(datosAjax .direccion).slideDown('slow');
                $("#fechapago").html(datosAjax .fechapago).slideDown('slow');
                $("#fechalimite").html(datosAjax .fechalimite).slideDown('slow');           
                },
            error: function(e){
             alert('Error: ' + e);
             }
          });
          return false;
        });
////con el boton de id=btnSearch
     $('#btnSearch').click(
        function()
        {
            var ciudad = $('#ciudad').val();
            $.ajax({
            type: "POST",
            url: contexPath + "/searcity.do",
            data: "city=" + ciudad ,
            dataType: "json",
            cache: false,
            success: function(data){
            var msjAjax = data.msg;
                var datosAjax = data.datosCard;
                $("#message").html(msjAjax ).slideDown('slow');
                $("#idcard").html(datosAjax .idcard).slideDown('slow');
                $("#nombre").html(datosAjax .nombre).slideDown('slow');
                $("#direccion").html(datosAjax .direccion).slideDown('slow');
                $("#fechapago").html(datosAjax .fechapago).slideDown('slow');
                $("#fechalimite").html(datosAjax .fechalimite).slideDown('slow');           
                },
            error: function(e){
             alert('Error: ' + e);
             }
          });
          return false;
        });
}); 
    
  Y mi Controlador en Spring 
 Código PHP:
    .................
@RequestMapping(value="/searcity",method=RequestMethod.POST)
    public @ResponseBody Map<String,Object> getAllBusiness(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="city",required=true) String txtcity)
    throws Exception{
        logger.info("entro search city model..");
        logger.info("parametro caja ::"+txtcity);
      Map<String,Object> map = new HashMap<String, Object>();
      datosBean datos = new datosBean();
      
      
      List<countries> bus_list = service.getObjetos(txtcity);
      map.put("rows", bus_list);
      
      StringBuffer msj = new StringBuffer();
    
      msj = service.getMsj(txtcity);
      
      datos = service.getDatos(txtcity);
      
      
      map.put("msg","elegiste ::"+msj);
      map.put("datosCard",datos);
     
    return map;
    } 
    
  Espero esto te ayude y te de alguna idea 

 , 
cheers 
