`
thewaychung
  • 浏览: 23024 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用JS创建form在FireFox中不能提交的问题

    博客分类:
  • JS
阅读更多

在一个前端页面上,需要通过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

0
0
分享到:
评论

相关推荐

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

    本文将深入探讨使用JavaScript创建和提交表单参数,并特别关注在Firefox浏览器中遇到的问题及其解决方案。 首先,让我们看看初始的JavaScript代码片段,用于创建一个隐藏的表单并提交参数: ```javascript ...

    Firefox浏览器兼容JS脚本供参考

    本文将详细解析在Firefox浏览器中实现JS脚本兼容的一些关键点,以确保代码在Firefox和其他浏览器上的表现一致。 1. **window.event 兼容脚本** 在IE中,`window.event`可以直接获取当前事件对象,但在Firefox中则...

    火狐下table中创建form导致两个table之间出现空白

    在&lt;FORM&gt;中加CSS &lt;table&gt; ……. &lt;/table&gt; &lt;form style=”padding:0;... 会出现问题 在网上看到过另一种说法,在table中创建form表单是不符合DOM标准的,会导致post失效,以及js数据传输失效。 特此铭记!@

    ie firefox做了一个遮罩层

    在Internet Explorer和Firefox中创建一个兼容的遮罩层涉及到CSS和JavaScript的知识。首先,我们从CSS开始。CSS是样式表语言,用于定义网页的布局和外观。创建遮罩层最基础的方法是使用一个全屏的绝对定位元素,其...

    jquery-form.rar

    7. **跨浏览器兼容性**:jQuery Form插件经过精心设计,以适应多种浏览器环境,包括Chrome、Firefox、Safari、Edge和Internet Explorer等,确保了广泛的用户覆盖。 8. **易于集成**:由于基于jQuery,这个插件可以...

    kindeditor-form-editor

    KindEditor是一款开源的JavaScript富文本编辑器,支持多种浏览器环境,如Chrome、Firefox、Safari、IE等。它提供了基本的文字编辑功能,如字体、字号、颜色调整,以及图片上传、链接插入、视频嵌入等多媒体处理能力...

    flex 利用FileReference上传firefox报2038错误

    特别是在Firefox中,由于其与Flash Player之间的交互方式与其他浏览器(如IE)有所不同,因此可能导致会话管理出现问题,进而引发上传失败的情况。 #### 解决方案探讨 1. **避免使用`FileReference`**:最简单粗暴...

    表单提交原理

    开发过程中,开发者可以使用各种工具辅助表单提交,如开发者工具(Chrome DevTools、Firefox Developer Tools等)来查看HTTP请求和响应,帮助调试表单提交问题。此外,代码编辑器(如Visual Studio Code、Sublime ...

    Bootstrap formValidation

    在使用Bootstrap FormValidation时,首先要确保项目已经引入了Bootstrap的CSS和JavaScript,然后引入FormValidation的相关文件,接着在表单元素上设置验证规则,最后通过初始化函数启动验证。例如: ```html &lt;form ...

    Firefox和IE浏览器兼容JS脚本写法小结

    在开发Web应用时,浏览器兼容性问题经常困扰开发者,尤其是Firefox和Internet Explorer(IE)之间的差异。这篇小结主要关注JavaScript脚本在两种浏览器中的兼容性处理,包括事件处理、DOM操作以及Ajax通信等方面。 ...

    JS表单验证插件(原创)

    5. **兼容性**:确保插件在主流浏览器上都能正常工作,包括Chrome、Firefox、Safari、Edge和IE。 在实现过程中,你可以使用事件监听器来响应用户的输入变化,比如`input`或`change`事件。通过遍历表单元素,对每个...

    如何使用js 打开并设置excel某些单元格的格式例子

    - 对于现代浏览器(如Chrome、Firefox等),需要寻找其他方式来实现类似的功能,例如使用Node.js服务器端脚本结合Excel库(如xlsx或exceljs)来处理Excel文件。 通过上述分析,我们已经了解了如何使用JavaScript...

    JavaScript帮助文档2

    - **Firefox**: 不支持`currentStyle`,而是使用`window.getComputedStyle`。 ```javascript var elementStyle = window.getComputedStyle(document.getElementById("example")); // 获取所有样式 ``` #### 六、...

    按回车键提交表单~~~~~

    这是因为早期的IE浏览器与其他现代浏览器(如Chrome、Firefox等)在DOM模型和事件处理机制上存在差异。 #### 兼容性考虑: - **事件对象**:在非IE浏览器中,通常使用`e`或`event`作为事件对象的参数名称。而在IE中...

    js表单验证工具

    JavaScript表单验证工具是Web开发中的重要组成部分,主要用于在用户提交数据前检查输入是否符合预设规则,确保数据的有效性和安全性。在这个项目中,开发者花费了三天时间编写了一个JavaScript库,专注于表单验证...

    验证插件vali.js

    - **兼容性**:vali.js兼容主流的现代浏览器,包括Chrome、Firefox、Safari、Edge等。 ### 2. 使用方法 首先,需要在HTML页面中引入vali.js文件。如果文件在`js`目录下,可以这样引用: ```html &lt;script src="js/...

    www-mechanize-firefox:WWW :: Mechanize的API,结合了Firefox的Javascript功能

    《WWW::Mechanize::Firefox:Perl中的自动化Web浏览利器》 在Perl的世界里,...通过结合Firefox的JavaScript执行,开发者可以更自由地与现代Web应用进行交互,无论是进行数据抓取还是自动化测试,都能游刃有余。

    html+js兼容性很好的留言墙源码

    这个留言墙兼容IE、Chrome、Firefox、Opera和360等浏览器,表明JS代码可能包含了对旧版IE的polyfill(填充技术),以提供缺失的API支持,或者使用了条件注释、特性检测等策略来确保广泛兼容。 5. **AJAX通信**:...

Global site tag (gtag.js) - Google Analytics