代码之家  ›  专栏  ›  技术社区  ›  Eli

带有.load()ed元素的jquery表单忽略它们

  •  1
  • Eli  · 技术社区  · 15 年前

    谢谢你的阅读。

    我有一个表格,里面有一些元素。表格里面是 div.graph 是的。提交表单时,div是 .load() 结果中包含一些额外的表单元素,如页选择器。然后反复提交表单,每次通过 加载() 是的。

    它是这样提交的:

    /* ... */
    // Build the form info as necessary.
    FormAction = './stats_chart.php?cb='+Math.random();
    FormDataJSON = $('#frmStats').serializeArray();
    
    // Hide any current report, and blank out the div.
    ChartItem.find('.graph').load(FormAction, FormDataJSON, function(){/* etc... */});
    

    结果如下:

    /* ... a bunch of crap */
    <select id='PageSelector' name='PageSelector'>
        <option value='1'>1</option>
    </select>
    

    问题是如果我提交表格, 加载() 一些结果,并再次提交,这些元素 加载() “D不存在于 FormDataJSON ,或表单帖子。他们好像不被 serializeArray() 是的。

    你知道怎么回事吗?我确实有所有元素的名称attribs,div在表单标记中,使用firebug探索dom可以显示应该在哪里。

    谢谢!

    编辑:

    我在主窗体中添加了一个隐藏的元素,并让select在提交之前更新它,这样就可以工作了,但仍然想知道为什么没有看到这些元素。

    奇怪的是,如果我将它登录到firefox的控制台,它会显示为自己的根目录,而不是附加到主体。通常,你会看到 /html/body/form/div/etc... ,但在这种情况下, /select 是的。

    0 回复  |  直到 13 年前