2014-01-30 3 views
1

У меня возникли проблемы с отправкой формы вручную с помощью javascript в Firefox и IE. В Chrome и Opera нет проблем.Form.submit не работает в FF и IE

Как пользователь отправляет форму, я перехватываю ее с помощью javascript/jquery, присваиваю пароль и повторно передаю форму.

Я пробовал много альтернативных вариантов, используя только javascript, который также не работает.

Также проблема заключается в этом конкретном коде, поскольку без него он работает отлично.

window.onload = main; 


function main() 
{           // Problem with Firefox and IE 
              // Form seems to not submit correctly after the manual submit 
$('#loginForm').submit(function(event) 
    { 
     if (typeof event.originalEvent !== 'undefined') 
     { 
      event.preventDefault(); 
     } 
     else 
     { 
      return; 
     } 


     var passHash = CryptoJS.SHA256($('#password').val()); 
     $('#password').val(passHash.toString()); 

    // document.getElementById('loginForm').submit(); 
     $('#loginForm').trigger('submit'); 
    }); 
} 
+0

Вы должны использовать [готов] (http://api.jquery.com/ready/) не придают OnLoad. Не уверен, что это причина вашей проблемы? – Liam

+0

Это не [эта проблема] (http://stackoverflow.com/a/4169636/542251), не так ли? – Liam

+0

Я не уверен, не тестировался, но вы не зацикливаете на отправке события с помощью этого скрипта? Имо вы должны удалить 'preventDefault()' просто вам ваши вещи, а затем 'return true', чтобы отправить форму или' return false', чтобы не отправлять ее. –

ответ

0

Слишком сложно, это нужно только:

function main() 
{           

    $('#loginForm').submit(function(event) 
    { 

     var passHash = CryptoJS.SHA256($('#password').val()); 
     $('#password').val(passHash.toString()); 

     return true; 
    }); 
} 
Смежные вопросы