2012-11-16 83 views
1

我需要在特定頁面上提交表單,並且在提交表單之前需要單擊單選按鈕。嘗試使用GreaseMonkey提交表單,但頁面停止工作

我得到了一切工作,但是當我讓GreaseMonkey提交表單時,頁面只是返回一個白頁。如果我點擊手動提交,它會顯示'請稍等..',然後進入另一頁。

如果需要,我可以給你我所說的表格的URL。

這是我使用的腳本:

$(document).ready(function() { 
    $("input[pmmethod=paypal]").click(); 
$(".submit-button").click(); 
}); 

回答

2

聽起來像一個事件處理函數附加到按鈕,你可以嘗試使用原生JavaScript代替jQuery方法來模擬鼠標點擊它;

function simulateClick(node) { 
    var ev = document.createEvent("MouseEvents"); 
    ev.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
    return node.dispatchEvent(ev); 
} 

$(document).ready(function() { 
    $("input[pmmethod=paypal]").click(); 
simulateClick($(".submit-button")[0]); 
}); 
+0

這個工程就像一個魅力。非常感謝你! – user1828398

0

要提交使用JavaScript形式,使用submit()這樣的:

$(document).ready(function() { 
    $("input[pmmethod=paypal]").click(); 
    $("#orderform").submit(); 
}); 
+0

謝謝您的回覆。當我嘗試你的代碼時,它什麼都不做。 就像我說的,它確實提交表單,但它只是進入白頁而不是實際前進。 這是按照Firebug提交按鈕: '' – user1828398

+0

@ user1828398請發佈一個鏈接到表單。但是,也可以嘗試:document.getElementById(「form-id」)。submit()'。確保用頁面上表單元素的實際ID替換'form-id'。 –

+0

我其實認爲你需要登錄才能看到表格,對不起。我如何獲得表單元素的ID? – user1828398