2012-06-12 41 views
0

是否有任何解決方案來檢測POST是否與jQuery一起發送?檢測POST是否發送

我的情況是,我有一個WP插件(聯繫表7),它通過jQuery ajax函數發送數據。當窗體填權(驗證)的用戶應該被髮送到第X頁

我有沒有什麼好結果如下嘗試:

if ($(".wpcf7-mail-sent-ok").is(":visible")){ 
     window.location.href = "http://stackoverflow.com"; 
    }); 

我認爲這並不因爲類工作「wpcf7-mail-sent-ok」只有在表單被髮送並且jQuery有效時纔會顯示。因此,我的上述代碼沒有被「檢測到」。

我該如何解決這個問題?

+0

你能提供一個你的ajax腳本的一部分 – mgraph

+0

什麼是在窗體的動作? – swapnesh

+0

不知道你需要哪個代碼,所以我發佈了漏洞插件:http://pastebin.com/wMk8xHdw – JohnSmith

回答

0

您可以使用DOMNodeInserted事件檢測DOM插入。如果您認爲wpcf7-mail-sent-ok僅在ajax調用後插入,那麼您可以綁定此事件。

$(document).on('DOMNodeInserted', '.wpcf7-mail-sent-ok', function() { 
    window.location.href = 'http://stackoverflow.com' 
}) 
+0

live is depricated「從jQuery 1.7起,不再使用.live()方法。使用.on()附加事件處理程序。舊版jQuery的用戶應該優先使用.delegate().live()。」 – Thomas

+0

謝謝。我更新了這個例子。 – z33m

+0

謝謝你! – JohnSmith

0

您可以使用類似於Fiddler的東西來檢查流量或Chrome - >右鍵單擊 - >「檢查元素」 - >「網絡」。

0

在你的頁面上找到ajax並尋找它的success函數,並在裏面放一個alert('hello'),你會知道它是否被執行。

1
if($(".wpcf7-mail-sent-ok").length) 
+0

沒有工作,我很害怕。我認爲這是因爲另一個jQuery函數生成「wpcf7-mail-sent-ok」而不重新加載頁面。所以你寫的代碼不能找到它,因爲它不在源代碼中。 – JohnSmith

+0

它應該檢測DOM中的任何內容,不管它到達那裏的方式。 – Thomas

相關問題