То, что мы пытаемся сделать здесь, состоит в том, что у нас есть форма с идентификатором upgrade_form. У нас также есть форма, называемая формой "paypal_submit". Эта форма пуста. "upgrade_form" имеет поля подробных данных фактуры (адрес, имя, срок действия и т.д.)
У нас есть только одна кнопка отправки, и логика заключалась в том, что она отправит форму, если установлен переключатель радиокарты, но будет отображаться нимомодальная (http://nyromodal.nyrodev.com), когда вы выберете переключатель PayPal и нажмите "Отправить".
- EDIT *
Хорошо, мы полностью обновили весь процесс. Сначала мы добавили 2 скрытых поля, которые не включены в форму. Эти 2 поля содержат URL-адреса для кредитной карты и PayPal. Когда вы выбираете переключатель кредитной карты, вы получаете URL-адрес кредитной карты. Когда вы выбираете переключатель PayPal, вы получаете URL-адрес PayPal.
Когда вы нажимаете на переключатель, мы меняем действие формы следующим образом:
$('#upgrade_form').attr('action', $('#credit-card-target-url').val())
(credit-card-url - скрытое поле)
Итак, когда мы нажимаем на ссылку в лабиринте nyromodal, мы просто вызываем
$('#upgrade_form').submit();
НО! ЭТО ВСЕ ЕЩЕ НЕ РАБОТАЕТ. Любая помощь по этому поводу? Мы находимся в процессе установки предлагаемого отладчика IE script, но я пессимистичен, мы ничего не увидим.
ИЗМЕНИТЬ
Просто повторил этот. Мы достали лайтбокс и другой код. Мы только начали с базовой формы со ссылкой, которая при нажатии вызывает:
$('#upgrade_form').submit();
Все еще не работает в IE. Так это из-за submit() jquery?
Хорошо, что я googled для jquery submit не работает в IE и нашел это: jQuery form submit() не работает в IE6?
Но я проверил наш код, и наша кнопка "отправить" на самом деле является ссылкой, и я искал созданную документацию и не обнаружил никаких входов с именем submit. Когда клика нажата, я добавил предупреждение, чтобы проверить, существует ли форма (из-за нулевой проблемы nodeName), и я получаю предупреждение с формой html. Он просто останавливается при отправке.
вот код прямо сейчас:
$('#paypalbutton').click( function() {
alert($('form#upgrade_form').html());
$('form#upgrade_form').submit();
return true;
}
IE останавливается в этой строке в jquery:
nodeName: function( elem, name ) {
return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
},