jQuery form submit() is not working in IE6?

后端 未结 8 1740
忘掉有多难
忘掉有多难 2020-12-03 01:14

I want to submit a with using jquery as below;

$(\"#formid\").submit();

Its working perfect in all browsers except IE6.

How to mak

相关标签:
8条回答
  • 2020-12-03 01:34
    ...
    
    $('.bt_ok').bind('click', function() {
        $('#form_autosuggest').submit();
        return false;
    });
    
    ...
    

    Add after: return false; for IE6

    0 讨论(0)
  • 2020-12-03 01:36

    You could try $("#formid").trigger("submit"), though I doubt it'll give you a different result.

    0 讨论(0)
  • 2020-12-03 01:37

    Add a button in your form with type="submit"

    Reference.

    0 讨论(0)
  • 2020-12-03 01:41

    Don't forget to return false; if you're on an tag

    0 讨论(0)
  • 2020-12-03 01:47

    You probably have an <input name="submit" /> somewhere in your form, which overwrites the function "submit" of the form in IE.

    Edit:

    I have tested in some other browsers. The latest versions of all major browsers seem to be affected by this issue.

    • IE - all versions
    • Firefox 4+
    • Chrome at least since version 12
    • Opera at least since version 11

    Bottom line: Never name your inputs "submit", or any other default property or method of the form element (e.g. "action" or "reset") . See MDC for a complete overview.

    0 讨论(0)
  • 2020-12-03 01:53

    I've recently had a similar issue, where I was creating a "pseudo-form" within an ASP.NET server form (so I couldn't use another form tag), which I wanted to post to another domain without needing to write server-side code to do the remote post. Easy answer - create a form on the fly and submit it. Works in good browsers...

    After some trials and tribulations, I realised that IE won't work as expected (what a surprise) unless the form that is being submitted has been added to DOM. So, this was my solution. I hope it helps some of you. Please be aware, all of my inputs and my submit were in the same container. ".post-to" is a hidden input with the 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;
    });
    

    Eventually, it works a treat.

    0 讨论(0)
提交回复
热议问题