Javascript jQuery表单提交()在IE6中不起作用?
我想提交一个使用jquery的示例,如下所示Javascript jQuery表单提交()在IE6中不起作用?,javascript,jquery,html,internet-explorer-6,Javascript,Jquery,Html,Internet Explorer 6,我想提交一个使用jquery的示例,如下所示 $("#formid").submit(); 它在除IE6之外的所有浏览器中都能完美工作 如何使它在IE6中工作?你可以尝试$(“#formid”).trigger(“submit”),尽管我怀疑它会给你一个不同的结果。你的表单中可能有一个,它覆盖了IE中表单的函数“submit” 编辑: 我已经在其他浏览器中进行了测试。所有主要浏览器的最新版本似乎都受到此问题的影响 IE-所有版本 火狐4+ Chrome至少从第12版开始 至少从第11版开始
$("#formid").submit();
它在除IE6之外的所有浏览器中都能完美工作
如何使它在IE6中工作?你可以尝试
$(“#formid”).trigger(“submit”)
,尽管我怀疑它会给你一个不同的结果。你的表单中可能有一个
,它覆盖了IE中表单的函数“submit”
编辑:
我已经在其他浏览器中进行了测试。所有主要浏览器的最新版本似乎都受到此问题的影响
- IE-所有版本
- 火狐4+
- Chrome至少从第12版开始
- 至少从第11版开始
一句话:永远不要将输入命名为“提交”,或表单元素的任何其他默认属性或方法(例如“操作”或“重置”)。有关完整概述,请参阅。不要忘记返回false;如果您在标签上我在准备通过a元素提交表单时遇到了类似的问题。我已经将href属性设置为“javascript:;”以让jQuery主脚本处理实际提交,但它在IE6中无法工作 jQuery主脚本:
$(".submitLink").click(function(){
$(this).parent()[0].submit();
$(this).addClass("loading");
});
我的解决方案是将href属性从“javascript:;”更改为“#”。我最近遇到了一个类似的问题,我在ASP.NET服务器表单中创建了一个“伪表单”(因此我不能使用另一个表单标记),我想将其发布到另一个域,而无需编写服务器端代码来执行远程发布。简单答案-创建一个表单并提交。在好的浏览器中工作 经过一些考验和磨难之后,我意识到除非提交的表单被添加到DOM中,否则IE不会像预期的那样工作(真令人惊讶)。这就是我的解决方案。我希望它能帮助你们中的一些人。请注意,我所有的输入和提交都在同一个容器中。“.post to”是带有URL的隐藏输入
$(".post-form").click(function(ev) {
var postto = $(this).siblings(".post-to").val();
var form = document.createElement("form")
$(form).attr("id", "reg-form").attr("name", "reg-form").attr("action", postto).attr("method", "post").attr("enctype", "multipart/form-data");
$(this).siblings("input:text").each(function() {
$(form).append($(this).clone());
});
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
return false;
});
最终,它起到了治疗作用
...
$('.bt_ok').bind('click', function() {
$('#form_autosuggest').submit();
return false;
});
...
添加后:返回false代码>对于IE6,只需添加一个
window.setTimeout(function(){
$("#formid").submit();
}, 300);
使用type=“submit”
是的。我有一个输入标签(按钮)名为“提交”,这就产生了问题。谢谢哇,接球不错。我不知道这件事,我早该找的!谢谢非常有用的信息。可能帮我省了一个小时的故障排除时间。注意:这并不局限于IE6。我在使用Firefox4时也注意到了这个问题。谢谢你的帮助。非常好,在我的例子中,我将href设置为“javascript:void(0);”。已激发连接到click()的所有事件,但表单不会提交。将href更改为“#”修复了它。谢谢与Peter相同的问题,已修复。非常感谢$(“.submitLink”)。单击(函数(事件){event.preventDefault();//防止浏览器滚动到页面顶部});为什么我得到了-1分?这里的“setTimeout”解决方案非常有效。