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

jQuery form with .load()ed elements ignores them

提问人:Eli 提问时间:7/24/2010 最后编辑:Peter OramEli 更新时间:11/1/2012 访问量:147

问:

感谢您的阅读。

我有一个包含一些元素的表单。表单内部是一个 .提交表单时,div 与结果一起“d”,其中包括一些额外的表单元素,例如页面选择器。然后,该表单将重复提交,每次都通过 .div.graph.load().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 的元素既不存在于 ,也不存在于表单帖子中。似乎他们不被 ..load().load()FormDataJSONserializeArray()

知道这是怎么回事吗?我确实有所有元素的名称属性,div 在表单标签内,并且使用 Firebug 探索 DOM 显示了它应该在什么位置的所有内容。

谢谢!

编辑:

我做了一个解决方法,在主窗体中添加一个隐藏元素,并在提交之前让选择更新它,所以它现在可以工作了,但仍然想知道为什么这些元素没有被看到。

奇怪的是,如果我将它记录到Firefox的控制台中,它就会显示为它自己的根目录,而不是附加到正文上。通常,您会看到 ,但在这种情况下,它只是 ./html/body/form/div/etc.../select

jQuery查询

评论


答: 暂无答案