在一个前端页面上,需要通过JavaScript来提交参数,使用JS创建form表单,将参数append到表单中进行提交,代码如下:
function loadConfig(gameUrl,skinId){
var temp = document.createElement("form");
temp.action = "${createLink(controller:'mobileConfig', action:'beforeLaunchConfig')}";
temp.method = "POST";
temp.style.visibility="hidden";
var opt = document.createElement("input");
opt.name = "gameUrl";
opt.id = "gameUrl";
opt.value = gameUrl;
var opt2 = 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在提交页面表单时要求页面有完整的标签项,即<html><head><title></title></head><body><form></form</body</html>这样的标签结构。因此,将该段JS做了写小改动:
function loadConfig(gameUrl,skinId){
var pageDiv = document.getElementById("page");
var temp = document.createElement("form");
temp.action = "${createLink(controller:'mobileConfig', action:'beforeLaunchConfig')}";
temp.method = "POST";
temp.style.visibility="hidden";
temp.name = "loadConfigPage";
var opt = document.createElement("input");
opt.name = "gameUrl";
opt.id = "gameUrl";
opt.value = gameUrl;
var opt2 = document.createElement("input");
opt2.name = "skinId";
opt2.id = "skinId";
opt2.value = skinId;
temp.appendChild(opt);
temp.appendChild(opt2);
pageDiv.appendChild(temp);
temp.submit();
}
在<body>标签内append此处创建的form表单,再进行提交就能成功了。参考博文:http://bytes.com/topic/javascript/answers/542837-document-getelementbyid-myform-submit-does-not-work
分享到:
相关推荐
本文将深入探讨使用JavaScript创建和提交表单参数,并特别关注在Firefox浏览器中遇到的问题及其解决方案。 首先,让我们看看初始的JavaScript代码片段,用于创建一个隐藏的表单并提交参数: ```javascript ...
本文将详细解析在Firefox浏览器中实现JS脚本兼容的一些关键点,以确保代码在Firefox和其他浏览器上的表现一致。 1. **window.event 兼容脚本** 在IE中,`window.event`可以直接获取当前事件对象,但在Firefox中则...
在<FORM>中加CSS <table> ……. </table> <form style=”padding:0;... 会出现问题 在网上看到过另一种说法,在table中创建form表单是不符合DOM标准的,会导致post失效,以及js数据传输失效。 特此铭记!@
在Internet Explorer和Firefox中创建一个兼容的遮罩层涉及到CSS和JavaScript的知识。首先,我们从CSS开始。CSS是样式表语言,用于定义网页的布局和外观。创建遮罩层最基础的方法是使用一个全屏的绝对定位元素,其...
7. **跨浏览器兼容性**:jQuery Form插件经过精心设计,以适应多种浏览器环境,包括Chrome、Firefox、Safari、Edge和Internet Explorer等,确保了广泛的用户覆盖。 8. **易于集成**:由于基于jQuery,这个插件可以...
KindEditor是一款开源的JavaScript富文本编辑器,支持多种浏览器环境,如Chrome、Firefox、Safari、IE等。它提供了基本的文字编辑功能,如字体、字号、颜色调整,以及图片上传、链接插入、视频嵌入等多媒体处理能力...
特别是在Firefox中,由于其与Flash Player之间的交互方式与其他浏览器(如IE)有所不同,因此可能导致会话管理出现问题,进而引发上传失败的情况。 #### 解决方案探讨 1. **避免使用`FileReference`**:最简单粗暴...
开发过程中,开发者可以使用各种工具辅助表单提交,如开发者工具(Chrome DevTools、Firefox Developer Tools等)来查看HTTP请求和响应,帮助调试表单提交问题。此外,代码编辑器(如Visual Studio Code、Sublime ...
在使用Bootstrap FormValidation时,首先要确保项目已经引入了Bootstrap的CSS和JavaScript,然后引入FormValidation的相关文件,接着在表单元素上设置验证规则,最后通过初始化函数启动验证。例如: ```html <form ...
在开发Web应用时,浏览器兼容性问题经常困扰开发者,尤其是Firefox和Internet Explorer(IE)之间的差异。这篇小结主要关注JavaScript脚本在两种浏览器中的兼容性处理,包括事件处理、DOM操作以及Ajax通信等方面。 ...
5. **兼容性**:确保插件在主流浏览器上都能正常工作,包括Chrome、Firefox、Safari、Edge和IE。 在实现过程中,你可以使用事件监听器来响应用户的输入变化,比如`input`或`change`事件。通过遍历表单元素,对每个...
- 对于现代浏览器(如Chrome、Firefox等),需要寻找其他方式来实现类似的功能,例如使用Node.js服务器端脚本结合Excel库(如xlsx或exceljs)来处理Excel文件。 通过上述分析,我们已经了解了如何使用JavaScript...
- **Firefox**: 不支持`currentStyle`,而是使用`window.getComputedStyle`。 ```javascript var elementStyle = window.getComputedStyle(document.getElementById("example")); // 获取所有样式 ``` #### 六、...
这是因为早期的IE浏览器与其他现代浏览器(如Chrome、Firefox等)在DOM模型和事件处理机制上存在差异。 #### 兼容性考虑: - **事件对象**:在非IE浏览器中,通常使用`e`或`event`作为事件对象的参数名称。而在IE中...
JavaScript表单验证工具是Web开发中的重要组成部分,主要用于在用户提交数据前检查输入是否符合预设规则,确保数据的有效性和安全性。在这个项目中,开发者花费了三天时间编写了一个JavaScript库,专注于表单验证...
- **兼容性**:vali.js兼容主流的现代浏览器,包括Chrome、Firefox、Safari、Edge等。 ### 2. 使用方法 首先,需要在HTML页面中引入vali.js文件。如果文件在`js`目录下,可以这样引用: ```html <script src="js/...
《WWW::Mechanize::Firefox:Perl中的自动化Web浏览利器》 在Perl的世界里,...通过结合Firefox的JavaScript执行,开发者可以更自由地与现代Web应用进行交互,无论是进行数据抓取还是自动化测试,都能游刃有余。
这个留言墙兼容IE、Chrome、Firefox、Opera和360等浏览器,表明JS代码可能包含了对旧版IE的polyfill(填充技术),以提供缺失的API支持,或者使用了条件注释、特性检测等策略来确保广泛兼容。 5. **AJAX通信**:...