无法在Chrome扩展程序中提交表单

时间:2015-08-01 07:19:58

标签: javascript jquery google-chrome-extension

我无法在Chrome扩展程序中提交表单。

我什么时候尝试提交表单,然后整个页面刷新而不是提交数据并获得结果。

Manifest.js:

{
    "name": "BrowserExtension",
    "version": "0.0.1",
    "manifest_version": 2,
    "description" : "Description ...",
    "browser_action": {
        "default_icon": "icon.png" ,
        "default_title": "That's the tool tip"
    },
    "background": {
        "scripts": ["js/jquery-2.1.4.min.js", "background.js"],
        "persistent": false
    },
    "content_scripts": [{
        "matches": ["http://*/*", "https://*/*"],
        "js": ["js/jquery-2.1.4.min.js", "content.js"]
    }],
    "permissions": [
          "tabs", 
           "activeTab",    
           "https://www.irctc.co.in/eticketing/loginHome.jsf"
        ]
}

background.js:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
   if(changeInfo.status == 'complete')
   {

   if(tab.url === 'https://www.irctc.co.in/eticketing/mainpage.jsf')
   {
        chrome.tabs.executeScript(null, {file: "js/autofillMain.js"});
   }

   }
});

Autofillmain.js:

   var userName = document.getElementById("jpform:fromStation");
    userName.value = "PUNE JN - PUNE";

    var password = document.getElementById("jpform:toStation");
    password.value = "GWALIOR - GWL";

    var date = document.getElementById("jpform:journeyDateInputDate");
    date.value = "30-08-2015";

    $("#jpform").submit();'

如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

该网站的表单可能依赖于单击提交按钮以在点击处理程序中运行一些必要的代码。

尝试显式调用提交按钮的click(),如下所示:

  • 通过jQuery:$("#jpform [type='submit']:not([disabled])").click()
  • 通过标准js:document.querySelector("#jpform [type='submit']:not([disabled])").click()