セットアップは次のとおりです。ユーザーは、AJAX (jQuery) を介して送信された、私のページの特定のフォームに記入します$.post
。return 関数では、送信されたフォームに関連する要素をページに追加します。この要素には、click()
ハンドラーが関連付けられています。要素は問題なくページに表示されますが、クリックすると恐ろしい「JavaScript 引数を変換できませんでした」というメッセージが表示されます。ページに要素を追加する行は次のとおりです。
$('<span class="appointment" id="a'+aid+'">'
+type+name+'</span>').click(appointmentDetails).appendTo(calSlot);
繰り返しますが、これは jQuerypost
関数の成功コールバック内で呼び出されています。すべてのappointmentDetails
変数と同様に、関数が存在します。私もこのように試しました:
var newHTML='<span class="appointment" id="a'+aid+'">'+type+name+'</span>';
$(calSlot).append(newHTML);
$("#a"+aid).click(appointmentDetails);
このappointmentDetails
関数は、渡された ID を使用するかthis.id
、予定 ID を取得してから、jQuery を実行し.post
て予定の詳細を取得および表示します。基本は次のとおりです。
function appointmentDetails(appID) {
if (!appID) var appID=$(this).attr("id").substr(1);
$.post("data/appointments.php", {aid: appID, action: "details"}, function(data) {
//Callback stuff. Doubtful it's relevant
}, "xml");
}