你可以使用jQuery的$ .load()函数将表单插入页面吗?

时间:2009-04-06 22:04:02

标签: javascript jquery ajax firefox innerhtml

我有一个页面,其中有一个拖放表,其中行的顺序决定了小计的值。但是,它比添加更复杂,我宁愿不复制JavaScript中的逻辑来更新值。

一个简单的解决方案是使用Ajax重新加载整个页面,然后从通过Ajax获取的页面替换该表。也许这不是最优雅的解决方案,但我认为这是一个快速完成工作的方法,现在可以接受。

你可以用这样的jQuery做到这一点:

$('#element-around-table').load(document.location.href + ' #table-id');

然而,我的“简单”解决方案结果并非如此简单,因为该表还包含一个<form>标记,该标记未在Firefox中显示(Safari工作)。

当我使用Firebug检查页面时,我看到了表单,但它和它的元素变灰了。

在网上搜索时,我发现一个人rather confused post,他说FF3和IE从<form>来电中删除了innerHTML个标签。

我可能会继续以其他方式做这件事,但是为了我将来的参考,我想知道:是这样的吗?

2 个答案:

答案 0 :(得分:0)

该帖子相当困惑,我刚刚测试了你的代码,它运行正常。表单标签在firefox 3.0.8中显示就好了。

看着你的代码示例,虽然我想知道你是否只给出了一个不完整的例子......确保你调用的页面只返回 那个包装元素内的html。

答案 1 :(得分:0)

我之前遇到过这类事情。需要将FORM标签添加到DOM中。如果使用写入innerHTML的方法添加它们,则会出现标记,但就JavaScript而言它不会存在。