Я хочу отправить a с помощью jquery, как показано ниже:
$("#formid").submit();
Его работа прекрасна во всех браузерах, кроме IE6.
Как заставить его работать в IE6?
Я хочу отправить a с помощью jquery, как показано ниже:
$("#formid").submit();
Его работа прекрасна во всех браузерах, кроме IE6.
Как заставить его работать в IE6?
У вас, вероятно, есть <input name="submit" />
где-то в вашей форме, которая перезаписывает функцию "submit" формы в IE.
Изменить:
Я тестировал в некоторых других браузерах. Последние версии всех основных браузеров, похоже, затронуты этой проблемой.
Нижняя строка: никогда не назовите ваши входы "отправить" или любое другое свойство или метод по умолчанию элемента формы (например, "действие" или "reset" ). Подробнее см. MDC.
У меня была аналогичная проблема, когда я собирался отправить форму через A-элемент. Я установил атрибут href в "javascript:;" чтобы основной jQuery script обрабатывал фактический submit, но он просто не работал бы в IE6.
jQuery main script:
$(".submitLink").click(function(){
$(this).parent()[0].submit();
$(this).addClass("loading");
});
Мое решение состояло в том, чтобы изменить атрибут href из "javascript:;" на "#".
Вы можете попробовать $("#formid").trigger("submit")
, хотя я сомневаюсь, что это даст вам другой результат.
У меня недавно была аналогичная проблема, когда я создавал "псевдо-форму" в форме сервера ASP.NET(поэтому я не мог использовать другой тег формы), который я хотел бы отправить в другой домен без необходимо написать код на стороне сервера, чтобы сделать удаленный пост. Легкий ответ - создайте форму на лету и отправьте ее. Работает в хороших браузерах...
После некоторых испытаний и невзгод я понял, что IE не будет работать так, как ожидалось (какой сюрприз), если только форма, которая отправляется, не добавлена в DOM. Итак, это было мое решение. Надеюсь, это поможет некоторым из вас. Имейте в виду, что все мои входы и моя подача были в одном контейнере. ".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;
});
В конце концов, это работает.
Не забудьте вернуть false; если вы используете тег
Добавьте button
в свою форму с помощью type="submit"
...
$('.bt_ok').bind('click', function() {
$('#form_autosuggest').submit();
return false;
});
...
Добавить после: return false;
для IE6
Просто добавьте
window.setTimeout(function(){
$("#formid").submit();
}, 300);