1

在我的 JSP 页面中,我有一个表单和一些 div

<form id="personDetail" name="personDetail" action="personDetail">
<!-- input fields -->
</form>
<div id="sucess"></div>
<div id="error"></div>
<div id="edit"></div>
<div id="input"></div>

我正在使用 ajax 调用来提交表单。

在我的动作课中,我有以下代码

动作类

if(condition1)
{
//processing statements
return "success";
}
else if(condition2)
{
//processing statements
return "error";
}
else if(condition3)
{
//processing statements
return "input";
}
else if(condition4)
{
//processing statements
return "edit";
}

阿贾克斯调用

$(document).on('click', ".saveButton", function(){
        var formId='personDetail';
        var form = $("#"+formId);
        form.submit(function ()
        {
                var urlAction=form.attr('action');
                var dataFields=form.serialize();
                $.ajax({
            type: "post",
            url: urlAction,
            data: dataFields,
            success: function (data) {
                    var ajaxResult= $('<div/>').html(data),
                    $ajaxContent = ajaxResult.find('#ajaxContent');
                var ajaxActionResult=$('<div/>').html($ajaxContent);
                $("#success").html(ajaxActionResult);
            }
        });
         return false;
    });
});

在 struts.xml 中,我为每个结果提到了一些 JSP,它在 Ajax 中返回。

一切都在回归成功并获得 HTML 内容。我用id="success"设置为DIV。因此,所有结果都设置为该 DIV。

我想在适当的 div 中显示每个结果。也就是说,如果动作类返回字符串是error,我想将结果设置为id="error"的 Div ,如果它是input,那么结果应该设置为id="input"的 DIV ,其他的也类似。

由于所有结果在 Ajax 中都返回成功,因此在 ajax 中使用Error也没有意义。而且也无法进行编辑和输入。

我怎样才能做到这一点?

谢谢

4

1 回答 1

0

请参考:Getting return value from action with jquery.forms.js options...MVC3

PS:只需更改您的操作类以返回 Json 字符串.. 并在您的“afterSubmit”函数(response.YOUR_KEY ==“YOUR_TEST_VALUE”)中使用该特定键以获得所需的输出。

于 2013-08-16T09:10:38.377 回答