Форма не отправляется в IE - PullRequest
2 голосов
/ 05 января 2012

Я работаю над формой представления, которая не будет отправлена ​​в IE. Я не писал код, и мне было интересно, есть ли здесь что-то явно очевидное, что не нравится IE.

   $(function(){
      {% if show_existing_form == False %}
    $('#publisher-signup').toggle();
    $('#existing-user-pub-signup').toggle();
      {% endif %}

      $('#new-user').click(function() {
    $('#publisher-signup').toggle();
    $('#existing-user-pub-signup').toggle();
      });

      $('#existing-user').click(function() {
    $('#publisher-signup').toggle();
    $('#existing-user-pub-signup').toggle();
      });

      var disable_submit = function() {
    if ($('#publisher-submit').attr('disabled') !== 'disabled') { 
      $('#publisher-submit').attr('disabled', 'disabled');
    }
      };

      var enable_submit = function() {
    if ($('#publisher-submit').attr('disabled') === 'disabled') { 
      $('#publisher-submit').removeAttr('disabled');
    }
      };

      var check_passwords_match = function() {
    if ($('#password').val().trim() === '' || $('#confirm-password').val().trim() === '') {
      disable_submit(); 
    } else if ($('#password').val() !== $('#confirm-password').val()) {
        $('#password-mismatch').show();
        disable_submit();
    } else {
        $('#password-mismatch').hide();
        enable_submit();
    }
      };

      $('#confirm-password').change(check_passwords_match);
      $('#password').change(check_passwords_match);

      $('#email').change(function() {
        $.ajax({
            'url': '/preview',
            'type': 'POST',
            'data': {
                    'check-username': true,
                    'email': $('#email').val()
                },
            'success': function(data, textStatus, jqXHR) {
                        if (data.exists === true) {
                            $('#user-exists').removeClass('hide');
                        } else {
                            $('#user-exists').addClass('hide');
                        }
                   }
        });
      });

      $('#existing-submit-btn').click(function(){
        $('#publisher-existing-signup').submit();
      });

      $('#publisher-submit-btn').click(function(){
    $('#publisher-purchase').submit();
      });
});

1 Ответ

1 голос
/ 05 января 2012

Вероятна проблема с одним или обоими из них:

$('#existing-submit-btn').click(function(){
    $('#publisher-existing-signup').submit();
});

$('#publisher-submit-btn').click(function(){
    $('#publisher-purchase').submit();
});

Похоже, кнопка отправки в одной форме используется для отправки другой формы, но действие по умолчанию для первой никогда не отменяется. Попробуйте изменить его на:

$('#existing-submit-btn').click(function(){
    $('#publisher-existing-signup').submit();

    return false;
});

$('#publisher-submit-btn').click(function(){
    $('#publisher-purchase').submit();

    return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...