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