2010-04-20 52 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(); 
相關問題