PHP إرجاع رابط سميكة لا يعمل
سؤال
أنا أعود إلى القليل من القضية عندما أحاول إرجاع رابط لسحب ما يصل سمكا سميكة على صفحتي من صدى php بسيطة. أساسا ما لدي هو:
صفحة مع عدد قليل من البيانات تشمل مثل:
<?php
include ("display_header.php");
?>
كل واحد من عبارات تشمل فقط يشير إلى ملف PHP يسحب استعلاما قصيرا و Echos خارج رابط مع مرساة المرجع لفتح صندوق سميكة مضمنة (مع نموذج) عند النقر فوق المستخدم على نص الارتباط مثل:
echo "<a href='#TB_inline?height=265&width=225&inlineId=header_change' class='thickbox' style='text-decoration:none; color:#990000'>";
echo "Query Result etc";
echo "</a>";
لذلك عندما ينقر المستخدم على الرابط على الصفحة، من المفترض أن يطفو على صندوق سميكة مع نموذج. يدخل المستخدم بتغيراتهم في القسم المحدد، وينقر فوق إرسال، و JQuery Ajax تنشر النموذج وإعادة تحميله DIV مع عبارة تضمين لعرض التغييرات.
يعمل هذا في المرة الأولى التي يتم فيها تحميل الصفحة، ولكن بمجرد تقديم النموذج وحاول النقر فوق الارتباط الذي تم إرجاعه مرة أخرى لا يحدث شيء. يبدو أن هذا يعمل إذا كان لدي الرابط تحيط بالحب مع بيان التضمين الداخل (الذي ليس مشكلة كبيرة للقيام به)، لكنني لا أفهم لماذا هذا لا يعمل إذا كان لدي الرابط في الوظيفة المضمنة بيان PHP.
هل يمكن لأي شخص تقديم بعض الإرشادات؟ أعلم أن هناك الكثير من الأشخاص الرائعين هنا وأنا فقط لا أفهم شيئا أساسيا للغاية. شكرا!
المحلول
تحتاج إلى ربط سماكة سميكة إلى روابطك باستخدام الأحداث / العيش. وبعد شيء مثل:
$("a.thickbox").live("click",function() {
tb_init('a.thickbox');
});
من شأنها أن تمنع الروابط الخاصة بك سميكة الصمامات من فقدان ملزمها لسمكها بعد إعادة تحميلها أو حقنها عبر Ajax.
يمكنك أيضا القيام بذلك في رد الاتصال بطريقة أو أي دولار أو أيا منها)، على سبيل المثال:
$.ajax({
type: "GET",
url: "/ajax-content.php",
cache: false,
data: "f=foo&b=bar",
loading: $('.loading').html(''),
success: function(html) {
$('#ajaxContent').html(html);
//re-attach thickbox
tb_init('a.thickbox, area.thickbox, input.thickbox');
}
});
نصائح أخرى
يبدو أن هذه مشكلة JavaScript وليس مشكلة PHP.
يبدو لي أنك تقوم بتسجيل حدث عند تحميل الصفحة وبمجرد اكتمال حدث AJAX، فأنت لا يتم إعادة تسجيل الحدث. لا أستطيع أن أعرف ذلك دون رؤية جافا سكريبت.