0

この投稿に基づいて、NancyFx と pjax を使用してアプリを作成しました。

http://www.jhovgaard.com/nancy-pjax/

私は基本がうまく機能しています。リンクをクリックすると、コンテンツが読み込まれ、そのコンテンツの ajax フォームが正常に機能します。

ただし、F5 キーを押してページを更新すると、JavaScript の一部が実行されません。

たとえば、フォームには、フォームが送信された後に表示される div が含まれており、成功/エラー メッセージが表示されます。このパネルは、フォームが次のコードで読み込まれると非表示になります。

$('#successPanel').hide();

リンクをクリックして pjax がコンテンツをロードすると、成功パネルが非表示になります。問題は、F5 キーを押してページを強制的に更新すると、このコードが機能しないことです。js は、次のように pjax によって挿入されたコンテンツに含まれるファイルにあります。

<script type="text/javascript" src="/Content/js/formIncomeExpenses.js"></script>

そのファイルに console.log があり、ページが更新されると呼び出されます。ただし、successPanel は表示されたままです。

私のレイアウトには、jquery および pjax スクリプトと、ここから使用しているフォーム プラグインが含まれています。

http://jquery.malsup.com/form/

Bootstrap と Datatables.net も使用しています。これらはすべて一緒に問題なく動作し、非 pjax バージョンのアプリも問題なく動作します。

私が間違っていることはありますか?

4

1 に答える 1

0

ありがたいことに、これは DOM の準備ができていない場合であることが判明し、これを使用すると問題が修正されました。

$(document).ready(function() { // hide the success panel $('#successPanel').hide(); });

于 2014-12-19T22:54:58.940 に答える