0

データを送信する前にいくつかの検証を実行するフォームがあるため、この検証を送信ボタンのクリック イベントにバインドします。

$('#myButton').click(function(e){
  e.preventDefault();
  e.returnValue = false;
  //perform validations...
  if(valid) {
    $('#theForm').submit();
  }
});

これまでのところ魔法はありません。サーバー側で問題がなければ、ページは 302 http ステータス コードを返します。

Firefox と Chrome では、URL は正常にリダイレクトされますが、Internet Explorer 8 (別のバージョンではテストされていません) では、ブラウザが同じ URL にリダイレクトされます。

JavaScript コードを削除すると、IEは正しくリダイレ​​クトされます。

それで、私の質問は、submit()JQuery の何が通常の HTML サブミットと違うのですか?

4

1 に答える 1

1

違いはわかりませんが、これを使用してフォームの送信イベントを直接トリガーし、jQueryの送信イベント処理を効果的にバイパスできるはずです。

$("#theform")[0].submit();

同じことが起こった場合、問題はjQueryにあるのではなく、代わりにクロスブラウザの問題である可能性が高いです。

于 2012-12-10T20:25:30.887 に答える