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