2

送信ボタンではなく、ハイパーリンクを使用してAjax.BeginFormを送信しようとしています。送信ボタンでテストしたところ、アクションはテストRequest.IsAjaxRequestに基づいて投稿をAjaxとして認識しますが、次のIsAjaxRequestを試してみるとfalseが返されます。

<a href="javascript:void(0)" onclick="javascript:document.forms[0].submit(); return false;">Update</a>
4

1 に答える 1

4

フォームはMicrosoftのAjaxライブラリにフックされているため、有線のajaxイベントがアクティブ化されていないため、form.submit()を呼び出すことはできません。いくつかのオプションがあります。

  • リンクの代わりに送信ボタンを使用する
  • MS Ajaxのものをドロップし、ajaxの投稿をjQueryで手動で接続します(これは私がやったことです)
  • MSAjax送信機能を呼び出す

3番目のオプションでは、代わりに

onclick="javascript:document.forms[0].submit(); return false;"

試す

onclick="javascript:$('#form').onSubmit(); return false;"

しかし、私はそれを使ったことがないので、それがうまくいくかどうかはわかりません。達成しようとしていることとまったく同じように聞こえるので、ここで解決策を探すこともできます。

于 2012-11-19T19:46:41.030 に答える