Javascript jQuery表单提交()在IE6中不起作用?

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版开始

我想提交一个使用jquery的示例,如下所示

$("#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”解决方案非常有效。