您好,欢迎访问一九零五行业门户网

用JS提交参数创建form表单在FireFox中遇到的问题_javascript技巧

在一个前端页面上,需要通过javascript来提交参数,使用js创建form表单,将参数append到表单中进行提交,代码如下:
js代码:
复制代码 代码如下:
functionloadconfig(gameurl,skinid){
vartemp=document.createelement(form);
temp.action=${createlink(controller:'mobileconfig',action:'beforelaunchconfig')};
temp.method=post;
temp.style.visibility=hidden;
varopt=document.createelement(input);
opt.name=gameurl;
opt.id=gameurl;
opt.value=gameurl;
varopt2=document.createelement(input);
opt2.name=skinid;
opt2.id=skinid;
opt2.value=skinid;
temp.appendchild(opt);
temp.appendchild(opt2);
temp.submit();
}
该功能在chrome及safari上都能成功运行,但在使用firefox(17.0.1)时不能成功提交,经过研究发现,firefox在提交页面表单时要求页面有完整的标签项,即这样的标签结构。因此,将该段js做了写小改动:
js代码:
复制代码 代码如下:
functionloadconfig(gameurl,skinid){
varpagediv=document.getelementbyid(page);
vartemp=document.createelement(form);
temp.action=${createlink(controller:'mobileconfig',action:'beforelaunchconfig')};
temp.method=post;
temp.style.visibility=hidden;
temp.name=loadconfigpage;
varopt=document.createelement(input);
opt.name=gameurl;
opt.id=gameurl;
opt.value=gameurl;
varopt2=document.createelement(input);
opt2.name=skinid;
opt2.id=skinid;
opt2.value=skinid;
temp.appendchild(opt);
temp.appendchild(opt2);
pagediv.appendchild(temp);
temp.submit();
}
在标签内append此处创建的form表单,再进行提交就能成功了。
其它类似信息

推荐信息