-1

私は2つのページを作成しました。1つは、ダイアログを開いてそのダイアログ内に別のページをロードするリンクがあるページです。ダイアログが開いて他のページをロードすると、このページにはカレンダーがありますが、カレンダーをクリックすると次のエラーが発生します: 未定義のプロパティ 'インライン' を読み取ることができません

日付ピッカーがカレンダーを実行するファイルを実行した場合、何が問題なのか解釈できませんが、ダイアログを開いて最初のページから実行するとエラーが発生します。

以下に、page1 と page2 のソースがあります。

<!--PAGE1.PHP-->

<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css"  />
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
<script>
function loadurl() {
$(function() {
    $("#dialog").load('page2.php').dialog({modal:true}); 
});
}
</script>
</head>
<body>

<a href="#" onClick="return val()">teste</a>
<div id="dialog" title="Dialog"></div>

</body>
</html>


<!-- PAGE2.PHP -->


<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css"  />
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>

<script>
$(function() {
    $( "#datepicker" ).datepicker();
});
</script>
</head>
<body>
<p>Date: <input type="text" id="datepicker" /></p>
</body>
</html>
4

2 に答える 2

0

$.load はロードされたページでスクリプトを実行しません

元のページの準備完了関数が起動しないため、スクリプトは新しいページでは実行されません。2 番目のページ用のスクリプトは、最初のページの $.load 関数の成功リスナーで実行する必要があります。

于 2012-10-17T23:06:48.567 に答える
0

コードにはいくつかのことがあります。まず第一に、何が何でPAGE2.phpあるかを決定する必要があります。それはページのコンポーネントですか、それともスタンドアロンのページですか。.load()ダウンロードしたコードを DOM に直接挿入します。したがって、PAGE2.php を次のように削除できます。

<script>
$(function() {
    $( "#datepicker" ).datepicker();
});
</script>
<p>Date: <input type="text" id="datepicker" /></p>

.load()または、セレクターを提供して、ダウンロード ページの一部を読み込むこともできます$('#dialog').load('page2.php #datepicker')

もう 1 つのことは、PAGE2.php を DOM にロードするステートメント$("#dialog").load('page2.php').dialog({modal:true})です。あなたがしたいことは、ページを最初に(おそらくバックグラウンドで)ロードしてから、.dialog(). したがって、次のようになります。

$("#dialog").load('page2.php', function() { $(this).dialog({modal:true})​ })​
于 2012-10-17T23:29:20.500 に答える