Reputation: 27185
I want to submit a with using jquery as below;
$("#formid").submit();
Its working perfect in all browsers except IE6.
How to make it work in IE6 ??
Upvotes: 30
Views: 31001
Reputation: 1
...
$('.bt_ok').bind('click', function() {
$('#form_autosuggest').submit();
return false;
});
...
Add after: return false;
for IE6
Upvotes: -1
Reputation: 12389
Just add a
window.setTimeout(function(){
$("#formid").submit();
}, 300);
Upvotes: -1
Reputation: 649
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.
Upvotes: 2
Reputation: 8916
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.
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.
Upvotes: 64
Reputation:
I had a similar problem when I was about to submit the form via an A-element. I had set the href attribute to "javascript:;" to let the main jQuery script handle the actual submit but it just wouldn't work in IE6.
jQuery main script:
$(".submitLink").click(function(){
$(this).parent()[0].submit();
$(this).addClass("loading");
});
My solution was to change the href attribute from "javascript:;" to "#".
Upvotes: 14
Reputation: 143114
You could try $("#formid").trigger("submit")
, though I doubt it'll give you a different result.
Upvotes: 3