簡體   English   中英

Firefox 在沒有其他提交輸入的情況下以動態創建的形式出現“提交不是函數”錯誤

[英]“Submit is not a function” error in Firefox in dynamically CREATED form without other submit inputs

在 Firefox 5 的錯誤控制台(但不在 IE 9 中)中,當我調用以下 javascript ZC1C425268E68385D1AB5074C17A94F 文件時,我收到錯誤“myForm.submit is not a function”

function go(url_go, arr_POST_vars, str_method) {
  var str_method = str_method || "POST";    // by default uses POST
  var myForm = document.createElement("form_redir");
  myForm.setAttribute("method", str_method);
  myForm.setAttribute("action", url_go);
  for (var key in arr_POST_vars) {
    var myInput = document.createElement("input");
    myInput.setAttribute("name", key);
    myInput.setAttribute("type", "hidden");
    myInput.setAttribute("value", arr_POST_vars[key]);
    myForm.appendChild(myInput);
  }
  document.body.appendChild(myForm);
  myForm.submit();
}

我頁面上唯一的 HTML (在 HTML 正文標簽之間)是以下行:

<button type='button' onClick='javascript:go("http://www.testsite.com/login.php", {userCode:"2487",password:"jon123"}, "POST");'>Go!</button>

我已經廣泛搜索,並且我知道當有一個表單輸入也稱為“提交”時會發生此錯誤,然后與表單的“提交()”function 名稱發生沖突。 然而,這里不是這種情況。

這里的想法是通過動態創建表單,在單擊按鈕時導航並將 POST 值提交到特定的 url。 它在 IE 中運行良好,但在 Firefox 中運行良好。

我很茫然,一個解決方案將不勝感激。

它是由您創建的元素類型引起的。 “form_redir”不是有效的 html 標記,因此它創建了一個元素,但它只有默認的 dom 方法。 將其更改為“形式”,它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM