我无法从对象序列化表单

时间:2013-02-19 07:02:24

标签: jquery html object serialization

我在页面中使用scroll-pagination作为插件,并使用表单将值传递给url我正在获取结果。

加载后的新表单将动态添加到我的页面,并且我想序列化新表单以重新进行新页面问题,我的代码保持序列化第一个表单而不是新表单。

这是我的Jquery

$(function(){
var datastring=$(".passform").last().serialize();
$('#update').scrollPagination({
    'contentPage': 'post_update.php', 
    'contentData': {
        data : datastring
        },
    'scrollTarget': $(window), 
    'heightOffset': 10, 
    'beforeLoad': function(){ 
        $('#loading').fadeIn(); 
    },
    'afterLoad': function(elementsLoaded){ 
         $('#loading').fadeOut();
         var i = 0;
         $(elementsLoaded).fadeInWithDelay();
                 datastring=$(".passform",elementsLoaded).serialize();  //Here's the Problem:S
    }
});

$.fn.fadeInWithDelay = function(){
    var delay = 0;
    return this.each(function(){
        $(this).delay(delay).animate({opacity:1}, 200);
        delay += 100;
    });};});

这是我在主要代码中的第一个表格

<form id="passform" class="passform" name="passform">
        <input name="totalpage" type="hidden" value="<? echo($totalpage);?>" />
        <input name="nowpage" type="hidden" value="0" />
        <input name="u_id" type="hidden" value="<? echo($u_id);?>" />
        </form>

这是动态添加的新表单

 <form class="passform" id="passform" name="passform">
        <input name="totalpage" type="hidden" value="<? echo($totalpage);?>" />
        <input name="nowpage" type="hidden" value="<? echo($nowpage);?>" />
        <input name="u_id" type="hidden" value="<? echo($u_id);?>" />
        </form>

1 个答案:

答案 0 :(得分:2)

更改第一个数据字符串:

var datastring=$(".passform").first().serialize();

afterload中的数据字符串:

datastring=$(document).find(".passform").last().serialize();

注意:

对多个elems使用相同的id无效。发生这种情况时then only first of its type will get selected.