我正在使用struts2和tiles框架。 在默认加载中我正在加载baselayout.jsp。经过一段时间后,我没有改变网址。它将保持不变,内部部分将使用ajax查询进行更改。 现在我需要实现struts表单。 Struts在尝试重新加载整个页面成功和失败后形成操作。我需要重新加载表单部分而不是整个页面。
备选问题:是否可以在返回struts操作后在javascript中触发函数
先谢谢 克里希纳
答案 0 :(得分:0)
我希望以下答案对您有所帮助。
$('#formEmp').submit(function(event) {
//Validate using jquery validator
if (!$('#formEmp').valid()) {
return false;
}
// abort any pending request
if (request) {
request.abort();
}
// setup some local variables
var $form = $(this);
// let's select and cache all the fields
var $inputs = $form.find("input, select, button, textarea");
$inputs.prop("disabled", false);
// serialize the data in the form
var serializedData = $form.serialize();
// let's disable the inputs for the duration of the ajax request
// Note: we disable elements AFTER the form data has been serialized.
// Disabled form elements will not be serialized.
$inputs.prop("disabled", true);
// fire off the request to /form.php
request = $.ajax({
url: "saveEmp",
type: "post",
data: serializedData
});
// callback handler that will be called on success
request.done(function(response, textStatus, jqXHR) {
// log a message to the console
alert("Saved Successfully");
initForm();
});
// callback handler that will be called on failure
request.fail(function(jqXHR, textStatus, errorThrown) {
// log the error to the console
alert(textStatus);
});
// callback handler that will be called regardless
// if the request failed or succeeded
request.always(function() {
// reenable the inputs
$inputs.prop("disabled", false);
});
// prevent default posting of form
event.preventDefault();
});