0
$('form').on('submit', function(submitEvent)
{
    $('table[id*=OtherOptions] :input').attr('disabled', false);
    $('#collapsiblePanel :input').attr('disabled', false);

    if (preventSubmit)
    {
        submitEvent.preventDefault();

        populateDateValues();

        populateContextFilterValues();

        if($.browser.msie)
        {
                $('#collapsiblePanelHiddenValues').val(JSON.stringify(collapsiblePanelObj));
        }

        var form = $(this);

        var formInput = decodeURIComponent(form.serialize());           

        $.getJSON('ValidateParams', formInput, function(data)
        { 
// Some more code here...

在上面的代码中,我正在使用表单数据对 struts2 操作进行验证调用,但是如果某个表单字段包含 # 或 % 作为值,那么在服务器端获取请求参数时,这些特殊字符之后的所有参数都不会出现请求参数映射。

有什么办法可以解决上述问题?

4

1 回答 1

0

我能够通过不调用 decodeURIComponent 并且仅将序列化的表单数据发送到服务器端来解决该问题,其中编码数据由 struts2 自动解码。

于 2012-06-04T12:16:56.817 回答