اذهب إلى المحتوى

السؤال

نشر

سلام عليكم

اعتذر لو كان عنوان السؤال غير واضح و للاخوة المدربين تعديله بما يترائى لهم

عندي كود كالتالي 

<?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 هنا يكون نفس المتغير اللي انا مخصصه للنموذج ده؟

 

شكرا جدا

Recommended Posts

  • 0
نشر

حاول أن تعطي عنصر 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
نشر
بتاريخ 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
نشر
بتاريخ 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)

        }

سوف يتم طباعة المعرف الذي تمريره , يمكنك القيام بأي عملية تريدها

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...