سوالف اندرويد




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > البرمجية القياسية Ajax +XML+ CSS+ JavaScript وغيرها
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
#1  
ربط تنشيط ال submit بنوع الاجابة

السلام عليكم
لدي فورم بسيط يرسل بالاجاكس ويستقبل الناتج في div من صفحة php
لكن المشكلة اريد الغاء تفعيل زر submit بعد الارسال ونستخدم هذا الكود مثلاً:

كود PHP:
this.form.submit();this.disabled=true;return false 
في الحدث onclick او وجدت فنكشن اخرى :

كود PHP:
function submitonce(theform){
if (
document.all||document.getElementById){
for (
i=0;i<theform.length;i++){
var 
tempobj=theform.elements[i]
if(
tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true
}
}

<form onSubmit="submitonce(this)">

ويعملان بشكل صحيح لكن اريد ربط هذا العمل بنوع الناتج
اى في ملف ال php هناك شروط if عادية لارجاع النص
مثلا اذا ترك المستخدم الاسم فارغاً يرجع رسالة "برجاء ادخال الاسم"
واذا ترك التعليق فارغ يرجع رسالة "برجاء ادخال التعليق"
واذا اكتملت كل الحقول سيرجع اجابة "تم اضافة التعليق بنجاح"

انا اريد تطبيق ال submit disabled في حالة تم اضافة التعليق بنجاح فقط
لكن في باقي الحالات لا اريد الغاء تفعيله

اعتقد يمكن عملها بعمل var لكل حالة بالارقام ومطابقتها لكن لقلة خبرتي بالجافا سكربت لا اعرف كيف اطبقها
فارجو التكرم ممن لديه العلم بها بوضع الشرح او مثال

ولكم جزيل الشكر






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

آخر تعديل بواسطة مهندس مصرى في 18-10-2008 الساعة 06:03 PM.
مهندس مصرى is offline   قديم 18-10-2008, 06:01 PM
الرد مع إقتباس
عضو فعال جدا
#2  

من باب تقديم المساعدة ولو بالقليل
انظر هذه الصفحة
Dynamic Drive- Form Effects

اعذرني ان كان ردي ليس له علاقة بالموضوع
فلم افهم ما تقصده جيدا






__________________
تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
وتلك الفاظ لا معنى لها كذلك كلماته
سحاب اون لاين is offline   قديم 18-10-2008, 11:16 PM
الرد مع إقتباس
عضو سوبر نشيط
#3  

شكراً أخي على المساعدة
للاسف لا يوجد به ما اريده
للتوضيح
هذا الكود الذي وضعته
كود PHP:
 this.disabled=true
يقوم بعمل disable لزر ال submit حتى لا يتم الضغط عليه اكثر من مرة
المطلوب هو ليس عمل disable مباشرة
بل ان يتحقق الاول من النتيجة عن طريق رقم مثلا لكل حالة باستخدام var لكل حالة برقم 1,2,3 ... وهكذا






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 19-10-2008, 12:04 AM
الرد مع إقتباس
عضو نشيط
#4  

أنا استخدم هذه الطريقة في تسجيل الدخول (رح تكون في التطبيق القادم ) :
أول شي قبل إرسال المدخلات بالأجاكس يتم التحقق إذا كانت فارغةأو لا أضع هذا في بداية الفنكشن تبعت الإرسال :
كود:
var username = document.getElementById('username');
var password = document.getElementById('password');
if (username.value==null || username.value=='')
 {
 alert ("لم تقم بكتابة اسم المستخدم!")
  username.focus();
 return
 } 
 if (password.value==null || password.value=='')
 {
 alert ("لم تقم بكتابة كلمة المرور!")
  password.focus();
 return
 }
فإذا كان أحد الحقول فاضية رح تتوقف العملية و يصير تركيز على الحقل الفاضي باستخدام focus()
ولما يكون كل شي تمام رح توصل لأخر العملية و هناك تحط الامر يلي يخلي الزر معطل
أتوقع هذا يلي يهمك في التعليقات فأنت اعمل تعديلات بما يناسبك ولاتنسى تحط تحقق إذا كانت الحقول فاضية في البي اتش بي حتى يكون السكربت أأمن
وبالنسبة عندي إذا كانت كلمة المرور خطأ رح أقوم بطباعة نموذج تسجيل الدخول مرة أخرى و أنبه أن كلمة المرور خطأ في صفحة البي اتش بي و الاجاكس يستقبلها في نفس المكان
يعني لو عندك captcha ممكن تتحقق منها بنفس الطريقة
أتمنى ان يكون هذا ما تريده






سعد السيد احمد is offline   قديم 19-10-2008, 11:15 AM
الرد مع إقتباس
عضو سوبر نشيط
#5  

تم
عدل على المثال بالمرفقات للي بيناسبك






الملفات المرفقة
نوع الملف: zip example.zip‏ (1.6 كيلوبايت, 40 مشاهدة)
__________________
Professional Java?Script Programmer and Web Developer
ليوناردو دافينشي is offline   قديم 19-10-2008, 02:47 PM
الرد مع إقتباس
عضو سوبر نشيط
#6  

شكراً جزيلاً اخوتي .::سعد السيد احمد::. , .::ليوناردو دافينشي ::.
ولا لا اعلم كيف اشكركم على جهودكم العظيمة
جزاكم الله خيرا

-------
لدي سؤال آخر وسامحوني على ثقلي

كنت سالت الاخ سعد سابقاً عن عمل onload لكن في الاجاكس لان الصفحة في الحقيقة لا تعمل load بالاجاكس ولا تنفع استخدام الخاصية onload في حالة اذا اردت تنفيذ دالة عند فتح الصفحة بالاجاكس
يمكن استخدام settimeout لكن المشكلة انها اذا عملتها سيتم تنفيذها كل 30 ثانية مثلا
انا اريد تنفيذ الحدث في حالة تحميل الصفحة فقط ((في حالة الاجاكس)) فهل من حل؟؟

انا اتوقع ان يكون الاعتماد على ال readyState

فهل يمكن مثلاً عمل
كود PHP:
if (http_request.readyState == 4) {
myfunction();

طبعا قمت قبلها بتعريف http_request

لكن هل يمكن تنفيذ هذه الدالة بعد اتمام طلب الصفحة؟
ام ان هناك طريقة أخرى؟






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 19-10-2008, 07:19 PM
الرد مع إقتباس
عضو نشيط
#7  

الطريق يلي وضعتها ممكن إنها تعمل بحيث myfunction(); تكون عبارة عن فنكشن ترسل أجاكس لكن لا تنسى تعمل readyState خاص فيها حتى لا تتلخبط مع الأولى و تصير العملية غير منتهية

لكن فيه طريقة أسهل و أحسن :
مشكلة الأجاكس أنه لما يستقبل بيانات ما يشغل الجافا سكربت يلي فيه (لكن لو تجرب مكتبة jqeury رح تلاحظ ان بعض أوامرهم تشغله بحيث أنهم يقوموا باخذ الجافا سكربت يلي في الصفحة و وضعها في نود جديد حتى يشغله المتصفح و أنا لسى أحاول أجيب الطريقة كاملة حيث إني نجحت مع الفايرفوكس لكن الإنترنت إكسبلورر ما نجحت لسى معي )

لذلك لو تتذكر في التطبيق الاول أخر إضافة عملناها خلينا الأشرطة تبعت التصويت تتحرك صح ؟
كيف خلينا أمر (فنكشن) الجافا سكربت يشتغل ؟؟
عملنا onload على الصورة حتى تشغل العملية يلي موجودة أصلاً في الملف الأصلي
وهذا يلي رح تعمل لو أردت عملية معينة تشتغل عند إحضار صفحة بالأجاكس و لتكن العملية هي اجاكس أيضاً مافي مشكلة لكن الاهم أن تكون في الصفحة الأصلية
و انت علشان تخفي الصورة كل ماعليك تجيب صورة فاضية حجمها أصغر شي ممكن و تعطيها الطول و العرض صفر و تحط عليها حدث onload و تكب الفنكشن يلي تريده يشتغل سواء كان الفنكشن يعمل أجاكس و يحضر صفحة ثانية لديف ثاني او فنكشن عادي (راجع التطبيق الاول و شوف كيف حطيت الحدث على الصور)
الظاهر طولت لكن إن شاء الله تكون فهمتني و أي أسئلة ثانية أو مافهمت جزئية معينة تفضل






سعد السيد احمد is offline   قديم 19-10-2008, 10:36 PM
الرد مع إقتباس
عضو سوبر نشيط
#8  

ما الك الا تعمل هيكــ,,,



ضعه في الهيد
كود PHP:
        <script language="javascript" type="text/javascript">
            
window.onload = function() {
                
myfunction();
            }
 
        
</script> 
ضعه في أخر الصفحة قبل </body>
كود PHP:
 <script language="javascript" type="text/javascript">
window.onload();
 
</script> 






__________________
Professional Java?Script Programmer and Web Developer
ليوناردو دافينشي is offline   قديم 19-10-2008, 11:37 PM
الرد مع إقتباس
عضو سوبر نشيط
#9  

شكراً لكم على مساعدتكم وعلى جهودكم
للاسف لم تعمل فكرتك اخي ليوناردو دافينشي
وبالنسبة لفكرتك اخي سعد لم تنجح ايضاً فانا اتعجب كيف نجحت معك في التصويت .. (بركات )
انا اول شىء جربته هو عمل onload ولم تنجح عند عمل انكلود للصفحة بالاجاكس لكن تنجح اذا طلبت الصفحة بطريقة عادية بدون اجاكس

وايضاً فكرة ال readystat فشلت
المشكلة انه فعلا كما ذكرت لا يتم تنفيذ اكواد الجافا سكربت المُرسلة بالاجاكس
بعض المواقع الاجنبية ناقشت هذه المشكلة لكن كانت النتيجة كما قال الاخ ليوناردو دافنشي لكن للاسف لا تعمل مع اني نفذتها في آخر الصفحة
Technote Details :: JavaScript OnLoad events do not work with AJAX panels
Execute AJAX onLoad? - CodingForums.com
فانا غلبت مع هذه المشكلة
هل ممكن ان تذكر طريقة ال jquery او اذا كانت لديك فكرة أخرى؟






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 20-10-2008, 11:16 PM
الرد مع إقتباس
عضو نشيط
#10  

إقتباس:
المشاركة الأصلية بواسطة مهندس مصرى مشاهدة مشاركة
شكراً لكم على مساعدتكم وعلى جهودكم
للاسف لم تعمل فكرتك اخي ليوناردو دافينشي
وبالنسبة لفكرتك اخي سعد لم تنجح ايضاً فانا اتعجب كيف نجحت معك في التصويت .. (بركات )
انا اول شىء جربته هو عمل onload ولم تنجح عند عمل انكلود للصفحة بالاجاكس لكن تنجح اذا طلبت الصفحة بطريقة عادية بدون اجاكس

وايضاً فكرة ال readystat فشلت
المشكلة انه فعلا كما ذكرت لا يتم تنفيذ اكواد الجافا سكربت المُرسلة بالاجاكس
بعض المواقع الاجنبية ناقشت هذه المشكلة لكن كانت النتيجة كما قال الاخ ليوناردو دافنشي لكن للاسف لا تعمل مع اني نفذتها في آخر الصفحة
Technote Details :: JavaScript OnLoad events do not work with AJAX panels
Execute AJAX onLoad? - CodingForums.com
فانا غلبت مع هذه المشكلة
هل ممكن ان تذكر طريقة ال jquery او اذا كانت لديك فكرة أخرى؟
معقول ما اشتغلت طريقتي ؟؟
أنا الأن صارت معتمدة لدي و بديت أسخدمها في سكرباتي و الحمد لله دائما شغالة
تأكد ان رابط الصورة يكون صحيح و يحتوي على صورة و هذا مثال لكود الصورة يلي عندي :
كود HTML:
<img onload="ref()" src="img/0.gif" width="0" height="0" />
الصورة img/0.gif موجودة فعلا و لكن كلها بيضاء و صغيرة جداً
و العملية ref() تكون موجودة في الصفحة الأصلية يلي تقوم بجلب الصفحة الثانية
جرب و إن شاء الله يشتغل
بالنسبة لطريقة الjquery غالباً كل إستدعائتهم للأجاكس يقوموا بفصل كود السكربت الموجود في الصفحة المطلوبة و يحطوه في الهيد (هذي الفكرة العامة بعد ما قعدت يوم كامل أحوس في ملف الjquery الغير مضغوط حاولت أشتغل عليه ما نجحت غير في الفايرفوكس)
و إذا تريد مثال روح على التطبيق المثبت تبع التعليق السريع و جرب حط alert() مثلاً في الصفحة يلي رح يقوم الأجاكس بجلبها و رح تلاحظ إنها اشتغلت !!

رجاءً تأكد من طريقتي مرة ثانية و قلي إيش يصير معك







آخر تعديل بواسطة سعد السيد احمد في 21-10-2008 الساعة 12:38 AM.
سعد السيد احمد is offline   قديم 21-10-2008, 12:32 AM
الرد مع إقتباس
عضو سوبر نشيط
#11  

الله يكرمك ويبارك فيك
نجحت الطريقة
بارك الله لك وشكراً جزيلاً على مساعداتك لي






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 21-10-2008, 06:26 AM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
كيف اخلي الصفحة الرئيسيه حق الموقع تكون بنوع خط معين -Dream- الويب والويب 2.0 والـ Semantic Web 7 12-06-2006 10:17 AM
تنشيط الوندز ؟؟ mreyat.com الأخبار المتعلقة بالإنترنت والتقنية 0 05-05-2006 07:45 PM
خطاء بنوع اللغه في php Lep_Lab PHP 1 07-09-2003 01:30 PM
هل يمكن إبلاغي بنوع Type Recorder جيد للكمبيوتر لو تكرمتم..؟ _-*الفيصل*-_ الأخبار المتعلقة بالإنترنت والتقنية 0 17-09-2001 05:52 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 03:08 PM.