Я использую jQuery AJAX для вызова на мой контроллер.
Мой взгляд:
function doUpdate(id, taskid){
var x = id.value;
var firstday = document.getElementById('firstweek').value;
var pid = document.getElementById('projectid').value;
if (x >=0 && x <= 24 && x != ""){
$.post("savets.html", { hours: x, id: id.id, taskid: taskid, firstday: firstday, pid: pid }, function(data) {
alert("callback");
});
} else {
alert("Please enter a valid number: 0 - 24");
}
Мой контроллер:
@RequestMapping(value = { "/savets.html" }, method = RequestMethod.POST)
public String addTimeRecord(ModelMap model, HttpServletRequest request,
) {
System.out.println("Doing the insert onUpdate with value = "
+ request.getParameter("hours") + " for ID "
+ request.getParameter("id") + " "
+ request.getParameter("firstday") + " "
+ request.getParameter("taskid"));
Форма:
<input type="text" onChange=doUpdate(id of my record, the taskid) />
Остальное самоочевидно.У меня есть скрытые значения в моей форме, я получаю их с помощью Javascript.После этого я вызываю контроллер, который будет выполнять обновление (я не добавил этот код, так как это простая проверка + вставка)