2010-04-20 77 views
1

我有一个两页的网站。 每个页面都包含一个顶部带有“选项卡”的页眉,用于在第1页和第2页之间进行导航。如何从其他页面提交表单?

当选中选项卡时,我需要将所选页面重新POST至服务器,以在其之前快速刷新被展示。

我在每个页面上都有一个表格,允许从该页面手动刷新,但需要从其他页面提交该表单。

例如,显示页面2。第1页标签被选中(在第2页)然后它应该提交第1页的刷新表格。

任何帮助表示赞赏。

(使用jQuery,JS,HTML和CSS)

回答

2

理想的情况下,刷新应该由服务器来完成加载页面时。如果这是不是一种选择,我会使用jQuery的$.ajax方法在同步模式下,攻击到标签的click事件:

$('a.tab').click(function() { 
    $.ajax({ 
     url: "/refresh", 
     method: "post", 
     async: false, 
     data: { refresh: "very yes" } 
    }); 
}); 

设置异步为false确保请求单击处理收益和新的页面之前完成开始加载。您需要在data对象中包含他要提交的表单数据,但发布位于其他页面上的表单并不可行。

这实际上与Google Analytics用于跟踪出站链接点击的方法几乎相同。

+0

只知道AJAX的概念。这是jQuery ajax后可靠吗?服务器是否看到与来自表单的POST完全相同的内容? – 2010-04-21 17:46:46

+0

可靠吗?绝对。只要您将所有输入名称和值与'data'对象中的键和值相匹配,就应该在功能上等同于提交表单。 – s4y 2010-04-21 20:37:34

+0

太好了,它已经到位并且运转良好。谢谢。一个侧面的问题,我在这个函数的开始处更改光标以“等待”,并将其更改回成功函数。但是,在POST之后,光标只会变为“等待”。任何想法?再次感谢ajax POST。 – 2010-04-22 00:24:56

1

你是如何真正从标签加载网页?使用某种类型的iframe?或者通过进行AJAX调用?使用框架可能比使用AJAX调用更复杂。

如果在窗体中有一个ID或类,你可以简单地使用jQuery的提交()函数:

$("#myform").submit(); 
相关问题