需要实现struts2表单验证,这是已经加载的jsp的一部分

时间:2014-09-10 10:50:37

标签: java forms struts2 tiles

我正在使用struts2和tiles框架。 在默认加载中我正在加载baselayout.jsp。经过一段时间后,我没有改变网址。它将保持不变,内部部分将使用ajax查询进行更改。 现在我需要实现struts表单。 Struts在尝试重新加载整个页面成功和失败后形成操作。我需要重新加载表单部分而不是整个页面。

备选问题:是否可以在返回struts操作后在javascript中触发函数

先谢谢 克里希纳

1 个答案:

答案 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();

            });