السلام عليكم
اريد كود جاهز لاضافة تعليق على خبر او مقالة
اتمنى تساعدونى
شكرااا مقدما
إستخدمي FireFox فيه إضافة إسمها fireBug , منها تستطيعن الضغط على أي زر في أي صفحة باليمين ثم inspect elemetnt وتظهر لك كل التوابع والأحداث وكلاسات ال CSS والحافاسكربت الخاصة به , يحتاج لوقت للتتبع بالتأكيد , لكن على الأقل يمكن إستعمالها مثلا التعليقات في يوتيوب , أو حتى تعليقات الأسئلة في المنتدى
السلام عليكم
اختي الكريمة الجافا سكريبت ابدا لا تتعامل مع السيرفر وبذلك لا يمكنك ارسال بيانات باستخدامها مباشرة الى قاعدة البيانات
يجب وجود لغة سيرفر اتوقع بانك تستخدمين الجافا والجافا غير الجافا سكريبت لذلك عليكي معرفة الاضافة باستخدام لغة الجافا
الجافا سكريبت ينحصر عملها بجانب الزبون طبعا الايجاكس ترسل طلبات للسيرفر ولكن يتم االتعاون فيما بينها وبين لغة من طرف السيرفر كال jsp or asp or asp.net or php or coldfusion or perl or
.....
بالتوفيق
In bad state
شكرا اولا للاخ هيثم
و لكنى اري شىء جاهز...هذا ليس من اختصاصى :blush:
الاخ اكس
افهم ما تقول و لكنى اريد عندما يضغط على زر اضافة
الفورم يختفى و تظهر رسالة انه تم استلام التعليق فقط لا غير


مممممممممممممممم
هنا بالتاكيد الجافا سكريبت لها دور اساسي وهو في الاي جاكس
ولكن بالتاكيد تحتاجين الى لغة برمجة من طرف السيرفر
يعني انتي كيف تقومين بالادخال الى قاعدة البيانات باي لغة كما ذكت على ما اظن بال jsp
اذا
ما عليكي الا وضع صفحة jsp بها استقبال متغير ياتي من الجافا سكريبت . انا لا اعرف جافا ولكن
بهذه الصفحة يوجد مرفقين للتعامل الاي جاكس مع لغة الجافا
يعني :
انتي تحتاجين الى صفحة jsp تقوم باستقبال متغير من نمط GET وتتعامل مع هذا المتغير هذا المتغير هو عبارة عن الخبر اي سيتم استقباله بالخلفية
يعني لو في صفحة اضافة خبر يوجد بها المحرر وصفحة ثانية بجنبها وليكن insertarticls تقومين بالتعامل مع الصفحة عبر الجافا سكريبت
بالتوفيق وان شاء الله تلاقي الحل
تم تعديل هذه المشاركة بواسطة X-File في 24 يوليو 2010 في 16:14
In bad state
إذن لتفكيك المشكلة لديك 3 أمور :
1. كود جافاسكربت لعمل إظهار للفورم وتغيير شكله وغير ذلك وهذه عادة ماتستخدم فيها الحيلة الأزلية :
GetElementById('comment_body_id').Display='none';
وللإظهار :
GetElementById('comment_body_id').Display='';2. كود أجاكس , لإرسال البيانات "إن كنتي تريدين التعامل بالأجاكس , لكن كملاحظة نظام التعليقات في المنتدى يرسل البيانات بدون أجاكس , ويمكنك تجربته بالضغط على زر "أضف تعليق أو إستفسار"
3. كود PHP أو JSP أو ASP.NET أو أي لغة برمجة server side , لأنها التي ستسلم البيانات من مربع النص وإضافة التعليق وسترسل في حالة إستخدام الأجاكس بال GET مثلا و بدون إستخدام الأجاكس بالطريقة البسيطة POST ..
إن كنتي تتحدثين عن أنه عند الضغط فقط على زر الإرسال يرسل التعليق وتبقى الصفحة كما هي وتخفي مربع إضافة التعليق كليا فهذه أجاكس ..
كمثال لشكل كود الأجاكس بإستخدام طريقة prototype
registerComm: function( id,post_id,topic_id )
{
// Find rep up
if( !$( id ) ){ return; }
var close_date = $( id ).down('.comment_div');
if( $( close_date ) ){
$( close_date ).observe( 'click', ipb.global.addcomment.bindAsEventListener(this, 1, id) );
}
var sendUrl = BASEURL + '&post_id'+ post_id +'&secure_key=' + ipb.vars['secure_hash'] + '&tid='+ topic_id ;
comm[ id ] = { obj: $( id ),pid: post_id , url: sendUrl, tid: topic_id};
//alert(type);
},
addcomment: function( e )
{
Event.stop(e);
var type = $A(arguments)[1];
var id = $A(arguments)[2];
var value =( type == 1 ) ? 1 : -1;
if( !comm[ id ] ){
return;
} else {
var rep = comm[ id ];
}
postid = rep.pid;
// Send ping
comment_ = document.getElementById('comment').value ;
//alert(rep.url + '&type=' + newtype);
new Ajax.Request( rep.url + '&the_comment=' + comment_ ,
{
method: 'get',
onSuccess: function( t )
{
if( t.responseText.search('Done') )
{
try {
// It worked! Hidc the rep buttons
alert(t.responseText);
} catch(err) { }
}
else
{
alert("problem");
if( t.responseText == 'nopermission' )
{
alert( ipb.lang['no_permission'] );
}
else
{
alert(ipb.lang['action_failed'] + ": " + t.responseText );
}
}
}
});
},هذا لو كان الجافاسكربت في ملف آخر يستخدم طريقة ال register لربط الأحداث مع الدوال التي تخصها ..
حاليا يجب ربط الحدث click عند الضغط على زر إضافة التعليق مع الدالة
registerComm: function( id,post_id,topic_id )
بحيث في كود ال html مباشرة يضاف الحدث OnClick() ويقوم بإرسال البيانات من ال div الذي يخص إضافة التعليق للدالة أعلاه .
لأنه عند الضغط على الرز سترسل البيانات للدالة التالية
addcomment: function( e )
التي سترسل الطلب بالأجاكس عن طريق GET لملف بعيد php مثلا ليعالجها .. ويجب أن يعيد رسالة خطأ أو صواب مثلا ليعلم الأجاكس بالنتيجة ليتصرف الأجاكس وفقها لإظهار أو إخفاء الأزرار وغير ذلك .. بالجافاسكربت هذه المرة بالتأكيد كما أشرت سابقا
القضية طويلة بالتالي تحتاح لتفكيك بالتدريج .
تم منح نقاط السؤال للأخ HGB لأن إجابته كافية للمتابعة ولأن صاحبة الموضوع لم تقم بترشيح إجابات بديلة.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget