محمد المصري12 نشر 9 نوفمبر 2021 أرسل تقرير نشر 9 نوفمبر 2021 سلام عليكم اعتذر لو كان عنوان السؤال غير واضح و للاخوة المدربين تعديله بما يترائى لهم عندي كود كالتالي <?php foreach ($threads as $thread){ ?> <form class="<?php echo $thread['thread_id'] ;?>" action="javascript:added(); return false;" novalidate> زي ما حضراتكم ملاحظين ال class name الخاصة بالفورم متغيرة بتاخد بياناتها من حقول في الداتابيز ده جزء من كود jQuery // Submit Threads (function() { 'use strict'; window.addEventListener('load', function() { var forms = document.getElementsByClassName('thread'); ^^^^^^^^^^ ازاي اقدر اخلي ال classname هنا يكون نفس المتغير اللي انا مخصصه للنموذج ده؟ شكرا جدا 1 اقتباس
0 محمد أبو عواد نشر 9 نوفمبر 2021 أرسل تقرير نشر 9 نوفمبر 2021 حاول أن تعطي عنصر form خاصية id , ثم تستطيع الحصول على العنصر من خلال خاصية id , كالتالي: كود php <form id="test" class="<?php echo $thread['thread_id'] ;?>" action="javascript:added(); return false;" novalidate> كود jQuery // Submit Threads (function() { 'use strict'; window.addEventListener('load', function() { var forms = document.getElementById('test'); اذا لم تقصد ذلك , نحتاج لتوضيح أكثر لكي نساعدك جيدا اقتباس
0 محمد المصري12 نشر 9 نوفمبر 2021 الكاتب أرسل تقرير نشر 9 نوفمبر 2021 بتاريخ 3 دقائق مضت قال محمد أبو عواد: حاول أن تعطي عنصر form خاصية id , ثم تستطيع الحصول على العنصر من خلال خاصية id , كالتالي: كود php <form id="test" class="<?php echo $thread['thread_id'] ;?>" action="javascript:added(); return false;" novalidate> كود jQuery // Submit Threads (function() { 'use strict'; window.addEventListener('load', function() { var forms = document.getElementById('test'); اذا لم تقصد ذلك , نحتاج لتوضيح أكثر لكي نساعدك جيدا الفكرة انه النموذج بيتكرر حسب احتياج المستخدم و اني اربطه ب id او كلاس ثابت هايعمل التغييرات بدون مراعاة المتغيرات مثال عندي جدول مكون من 4 خانات كود الخيط - الطول بالمتر- السعر - المجموع ثم زر تأكيد عندي في الداتابيز 3 انواع خيوط ، كود 1 و 2 و 3 يبقى هاتطلعلي بالشكل ده كود الخيط - الطول بالمتر - السعر - المجموع 1 تأكيد 2 تأكيد 3 تأكيد المفترض ان المستخدم لما يدخل طول الممتر و السعر و المجموع للخيط رقم 1 الداتا اللي تدخل تدخل للخيط رقم 1 بس ، لكن اللي بيحصل انها يتدخل لكل الانواع الموجودة و ده لان ال classname الخاص بالفورم ثابت و ليس متغير فكرت اخلي اسمه نفس قيمة ال كود عشان لما يتكرر يتغير مع المستخدم و يبقى unique و بكده تتحل المشكلة عشان كده عاوز ال id او الclass الخاص بالفورم يبقى متغير مش ثابت 1 اقتباس
1 محمد أبو عواد نشر 9 نوفمبر 2021 أرسل تقرير نشر 9 نوفمبر 2021 بتاريخ 18 دقائق مضت قال محمد المصري5: الفكرة انه النموذج بيتكرر حسب احتياج المستخدم و اني اربطه ب id او كلاس ثابت هايعمل التغييرات بدون مراعاة المتغيرات مثال عندي جدول مكون من 4 خانات كود الخيط - الطول بالمتر- السعر - المجموع ثم زر تأكيد عندي في الداتابيز 3 انواع خيوط ، كود 1 و 2 و 3 يبقى هاتطلعلي بالشكل ده كود الخيط - الطول بالمتر - السعر - المجموع 1 تأكيد 2 تأكيد 3 تأكيد المفترض ان المستخدم لما يدخل طول الممتر و السعر و المجموع للخيط رقم 1 الداتا اللي تدخل تدخل للخيط رقم 1 بس ، لكن اللي بيحصل انها يتدخل لكل الانواع الموجودة و ده لان ال classname الخاص بالفورم ثابت و ليس متغير فكرت اخلي اسمه نفس قيمة ال كود عشان لما يتكرر يتغير مع المستخدم و يبقى unique و بكده تتحل المشكلة عشان كده عاوز ال id او الclass الخاص بالفورم يبقى متغير مش ثابت من الممنك أن تقوم باستخدام الخاصية data مع العنصر form , فمثلا أن يكون الاسم data-test كالتالي <form data-test="<?php echo $thread['thread_id'] ;?>" class="test" action="javascript:added(); return false;" novalidate> ثم في كود jquery $('.test').on('click', function (event) { var id=$(this).data('test'); }); في كود jquery استخدمت الكائن event الذي يمتلك معلومات عن العنصر الذي تم الضغط عليه , من المعلومات حصلت على قيمة الخاصية data-test , قيمة الخاصية data-test تحتوي على id الخاص ب thread الذي تم الضغط عليه , وبناء عليه يمكنك القيام بالعمليات المختلفة لعنصر واحد فقط , هناك طريقة أخرى , نقوم بعمل حدث على العنصر form اسمه onClick ونقوم بتمرير معاملات لهذا الحدث كالتالي <form onclick="testFunction('<?php echo $thread['thread_id'] ;?>')" class="test" action="javascript:added(); return false;" novalidate> في الحدث onClick يقوم بتنفيذ الدالة التي اسمه testFunction ومررت الى الدالة معامل واحد وهو معرف id الخاص ب thread , ثم في كود جافاسكربت يمكنك الحصول على المعرف id الذي مررته كالتالي function testFunction(id) { console.log(id) } سوف يتم طباعة المعرف الذي تمريره , يمكنك القيام بأي عملية تريدها اقتباس
0 محمد المصري12 نشر 11 نوفمبر 2021 الكاتب أرسل تقرير نشر 11 نوفمبر 2021 الفكرة وضحت رغم انها لم تضبط معي لكن الحل نفسه منطقي جدا شكرا جزيلا لك اقتباس
السؤال
محمد المصري12
سلام عليكم
اعتذر لو كان عنوان السؤال غير واضح و للاخوة المدربين تعديله بما يترائى لهم
عندي كود كالتالي
زي ما حضراتكم ملاحظين ال class name الخاصة بالفورم متغيرة بتاخد بياناتها من حقول في الداتابيز
ده جزء من كود jQuery
ازاي اقدر اخلي ال classname هنا يكون نفس المتغير اللي انا مخصصه للنموذج ده؟
شكرا جدا
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.