[英]“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.