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

Mohamed Lamin Mahmoudi

الأعضاء
  • المساهمات

    394
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    4

كل منشورات العضو Mohamed Lamin Mahmoudi

  1. أريد المساعدة في فكرة الحذف 1 وضعت حالتين الحالة الاولى وهي الحذف بعد ان أضيف كل الملاحظات ثم أحمل الصفحة وأبدأ أحذف العنصر ومن ثم أحمل الصفحة ثم أحذف العنصر الذي بعده ومن ثم اعيد تحميل الصفحة ,نجحت في عمل هذه الحالة. الحالة الثانية هي الحذف قبل تحميل الصفحة أي يمكنني حذف أي ملاحظة من التخزين المحلي قبل تحميل الصفحة ,لم أستطع أن أطبق هذه الحالة بطريقة صحيحة let btn= document.getElementById("add"); let v =window.localStorage.getItem('value'); console.log(v); let taskform = document.querySelector('.tasks'); let tasks= Array(); if(!v ){ }else{ tasks.push(...(v.split(","))); } console.log(tasks); if(v && v.length!==0){ for(let i=0;i<tasks.length;i++){ let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${i}`); let but = document.createElement('button'); but.setAttribute('id',i); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(tasks[i]); taskform.append(but); taskform.append(mydiv); } }else{ } //حدث النقر على إضافة تاسك btn.addEventListener('click',function(e){ e.preventDefault(); add(); }); btn.addEventListener('click',function(e){ add(); e.preventDefault(); }); function add(){ if (document.getElementById("inb").value===""){ // التحقق من ما إذا أدخلت قيمة في الحقل أو لا }else{ // جلب القيمة المدخلة في الحقل val= document.getElementById("inb").value; tasks.push(val); console.log(tasks); // حفظ القيمة في التخزين المحلي window.localStorage.setItem("value",tasks); let x=window.localStorage.getItem('value'); console.log(x); let len = x.split(",").length; console.log(len); let task=tasks[len-1]; let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${len-1}`); let but = document.createElement('button'); but.setAttribute('id',len-1); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(task); taskform.append(but); taskform.append(mydiv); console.log(tasks); but.onclick=function(){ let newarr=x.split(","); let spliced=newarr.splice(len-1,1); window.localStorage.setItem('value',newarr); mydiv.remove(); but.remove(); } } } if( !v || v.length === 0){ console.log("tasks not found"); }else{ let newarr= v.split(','); console.log(newarr); for(let i=0; i<newarr.length;i++){ i.toString(); let del=document.getElementById(`${i}`); del.addEventListener('click',function(){ let de=document.getElementById(`${i}`); console.log(newarr); // let va=newarr.splice(i,1); let spliced= newarr.splice(i,1); // console.log(va); console.log(spliced); window.localStorage.setItem("value",v); console.log(v); let myd=document.getElementById(`my-div${i}`); myd.remove(); de.remove(); }) v=newarr; } }
  2. أريد المساعدة في فكرة الحذف عموما وضعت حالتين الحالة الاولى وهي الحذف بعد ان أضيف كل الملاحظات وأبدأ أحذف العنصر ومن ثم أحمل الصفحة ثم أحذف العنصر الذي بعده ومن ثم اعيد تحميل الصفحة ,نجحت في عمل هذه الحالة. الحالة الثانية هي الحذف قبل تحميل الصفحة أي يمكنني حذف أي ملاحظة من التخزين المحلي قبل تحميل الصفحة ,لم أستطع أن أطبق هذه الحالة بطريقة صحيحة // window.localStorage.clear(); let btn= document.getElementById("add"); let v =window.localStorage.getItem('value'); console.log(v); let taskform = document.querySelector('.tasks'); let tasks= Array(); if(!v ){ }else{ tasks.push(...(v.split(","))); } console.log(tasks); if(v && v.length!==0){ // console.log(window.localStorage.getItem('value')); //console.log(arr); for(let i=0;i<tasks.length;i++){ let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${i}`); let but = document.createElement('button'); but.setAttribute('id',i); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(tasks[i]); taskform.append(but); taskform.append(mydiv); } }else{ } //حدث النقر على إضافة تاسك btn.addEventListener('click',function(e){ e.preventDefault(); add(); }); btn.addEventListener('click',function(e){ add(); e.preventDefault(); }); function add(){ if (document.getElementById("inb").value===""){ // التحقق من ما إذا أدخلت قيمة في الحقل أو لا }else{ // جلب القيمة المدخلة في الحقل val= document.getElementById("inb").value; tasks.push(val); console.log(tasks); // حفظ القيمة في التخزين المحلي window.localStorage.setItem("value",tasks); let x=window.localStorage.getItem('value'); console.log(x); let len = x.split(",").length; console.log(len); let task=tasks[len-1]; let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${len-1}`); let but = document.createElement('button'); but.setAttribute('id',len-1); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(task); taskform.append(but); taskform.append(mydiv); console.log(tasks); but.onclick=function(){ let newarr=x.split(","); let spliced=newarr.splice(len-1,1); window.localStorage.setItem('value',newarr); mydiv.remove(); but.remove(); } } } if( !v || v.length === 0){ console.log("tasks not found"); }else{ let newarr= v.split(','); console.log(newarr); for(let i=0; i<newarr.length;i++){ i.toString(); let del=document.getElementById(`${i}`); del.addEventListener('click',function(){ let de=document.getElementById(`${i}`); console.log(newarr); // let va=newarr.splice(i,1); let spliced= newarr.splice(i,1); // console.log(va); console.log(spliced); window.localStorage.setItem("value",v); console.log(v); let myd=document.getElementById(`my-div${i}`); myd.remove(); de.remove(); }) v=newarr; } }
  3. نعم هذا ماكنت أقصد . لكن مالم أفهم هو أنني وضعت دالة الحذف وسط دالة الاضافة أي بعد أن أضيف عنصر أستطيع أن أحسبه هو فقط، لكنني الاحظ أنني استطيع ان احذف جميع العناصر لماذا؟؟؟؟ هل دالةالحذف تنفذ بغض النظر عن ما إذا أضفت عنصر جديد أو لا.ملاحظة (طبعا يوجد عنصر على الأقل) إن لم تفهم سؤالي هل إذا كانت لدي دالة وسط دالة هل الدالة الأبن تعمل حتى إذا لم تستدعى الدالة الأب لها ؟؟
  4. كيف أعمل ذلك، وإن كان لدي عنصر وحيد وأضفت له عنصر جديد كيف أجعل العنصر الأخير قابل للحذف والعنصر الأول لا ،هل في كل مرة أعمل هذا العمل ،أرجو مراجعة الشيفرة الخاصة بي
  5. كما في الصورة عندي أربع عناصر إن أضفت العنصر الخامس بعدها أريد أن يعمل زر delete مرة واحدة فقط ويحذف العنصر الخامس إن ضغطت بعدها على زر الحذف لأحذف عنصر أخر أريده أن لا يعمل . هذا هو مقصودي أي أن زر يعمل مرة فقط ويحذف العنصر المضاف تاليا فقط.
  6. الزر delete يعمل بدون أن أنقر على زر الاضافة لماذا ؟ وأنا أريد أن أحذف فقط النص المضاف أخيرا أي بعدما أضيف نصا أستطيع ان احذفه هو فقط إن أردت أن أحذف نصا أخر يجب على الزر ألا يعمل
  7. btn.addEventListener('click',function(e){ add(); e.preventDefault(); }); function add(){ if (document.getElementById("inb").value===""){ // التحقق من ما إذا أدخلت قيمة في الحقل أو لا }else{ // جلب القيمة المدخلة في الحقل val= document.getElementById("inb").value; tasks.push(val); console.log(tasks); // حفظ القيمة في التخزين المحلي window.localStorage.setItem("value",tasks); let x=window.localStorage.getItem('value'); console.log(x); let len = x.split(",").length; console.log(len); let task=tasks[len-1]; let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${len-1}`); let but = document.createElement('button'); but.setAttribute('id',len-1); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(task); taskform.append(but); taskform.append(mydiv); console.log(tasks); but.onclick=function(){ let newarr=x.split(","); let spliced=newarr.splice(len-1,1); window.localStorage.setItem('value',newarr); mydiv.remove(); but.remove(); } } } ألاحظ أن حدث النقر على الزر but يعمل حتى عندما لايكون أي حدث إضافة لماذا وهي مرتبطة بحدث النقر على الزر btn ?
  8. أليس نفس الشئ أن تكون فارغة أو طولها صفر ؟ حتى بعد هذه الاضافة مزال يضيف لي قيمة فارغة اول المصفوفة لاحظ معي
  9. let btn= document.getElementById("add"); let v =window.localStorage.getItem('value'); console.log(v); let taskform = document.querySelector('.tasks'); let tasks= Array(); console.log(tasks); //حدث النقر على إضافة تاسك btn.addEventListener('click',function(e){ add(); e.preventDefault(); }); function add(){ if (document.getElementById("inb").value===""){ // التحقق من ما إذا أدخلت قيمة في الحقل أو لا }else{ // جلب القيمة المدخلة في الحقل val= document.getElementById("inb").value; // console.log(val.trim()); //tasks[len]=val; // حقن القيمة في جدول tasks.push(val); let len = tasks.length; console.log(tasks); console.log(len); // حفظ القيمة في التخزين المحلي window.localStorage.setItem("value",tasks); let task=tasks[len-1]; let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${len}`); let but = document.createElement('button'); but.setAttribute('id',len); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(task); taskform.append(but); taskform.append(mydiv); } } // التحقق من ما إذا كانت هناك قيمة في التخزين المحلي if(window.localStorage.getItem('value')){ // console.log(window.localStorage.getItem('value')); let arr= window.localStorage.getItem('value').split(","); //console.log(arr); for(let i=0;i<arr.length;i++){ let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${i}`); let but = document.createElement('button'); but.setAttribute('id',i); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(arr[i]); taskform.append(but); taskform.append(mydiv); } }else{ } //حدث النقر على إزالة تاسك if(v.length===0){ console.log("tasks not found"); }else{ let newarr= v.split(','); console.log(newarr); for(let i=0; i<newarr.length;i++){ i.toString(); let del=document.getElementById(`${i}`); del.addEventListener('click',function(){ let de=document.getElementById(`${i}`); console.log(newarr); // let va=newarr.splice(i,1); let spliced= newarr.splice(i,1); // console.log(va); console.log(spliced); window.localStorage.setItem("value",v); console.log(v); let myd=document.getElementById(`my-div${i}`); myd.remove(); de.remove(); }) v=newarr; } }
  10. المشكلة بعد أن بنيت مصفوفة فارغة يتم إدخال البيانات بشكل صحيح بدون مشكل زيادة سترينغ في أول المصفوفة لكن ماإن أعد تحميل الصفحة يحذف كل البيانات ويجعل أول قيمة أدخلها هي الاولى في المصفوفة كيف أحل هذا المشكل
  11. <form class="taskform"> <input id="inb" type="text" > <button id="add">add task</button> </form> <div class="tasks"> </div>
  12. لدي مشكل أني أجد قيمة فارغة في أول الجدول والذي اسمه tasks حتى قبل أن أدخل أي قيمة في حقل الادخال لماذا أجد هذه القية وكيف أحذفها ؟ let btn= document.getElementById("add"); console.log(window.localStorage.key(0)); let v =window.localStorage.getItem('value'); console.log(v); let taskform = document.querySelector('.tasks'); let tasks=[v]; console.log(tasks); //حدث النقر على إضافة تاسك btn.addEventListener('click',function(e){ add(); e.preventDefault(); }); function add(){ if (document.getElementById("inb").value===""){ // التحقق من ما إذا أدخلت قيمة في الحقل أو لا }else{ // جلب القيمة المدخلة في الحقل val= document.getElementById("inb").value; // console.log(val.trim()); let len = tasks.length; //tasks[len]=val; // حقن القيمة في جدول // tasks.push(val); //console.log(tasks); console.log(len); // حفظ القيمة في التخزين المحلي window.localStorage.setItem("value",tasks); let task=tasks[len-1]; let mydiv = document.createElement('div'); let but = document.createElement('button'); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(task); taskform.append(but); taskform.append(mydiv); } } // التحقق من ما إذا كانت هناك قيمة في التخزين المحلي if(window.localStorage.getItem('value')){ // console.log(window.localStorage.getItem('value')); let arr= window.localStorage.getItem('value').split(","); //console.log(arr); for(let i=0;i<arr.length;i++){ let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${i}`); let but = document.createElement('button'); but.setAttribute('id',i); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(arr[i]); taskform.append(but); taskform.append(mydiv); } }else{ } //حدث النقر على إزالة تاسك if(v.length===0){ console.log("tasks not found"); }else{ let newarr= v.split(','); console.log(newarr); for(let i=0; i<newarr.length;i++){ i.toString(); let del=document.getElementById(`${i}`); del.addEventListener('click',function(){ let de=document.getElementById(`${i}`); console.log(newarr); // let va=newarr.splice(i,1); let spliced= newarr.splice(i,1); // console.log(va); console.log(spliced); window.localStorage.setItem("value",v); console.log(v); let myd=document.getElementById(`my-div${i}`); myd.remove(); de.remove(); }) v=newarr; } }
  13. فعلت ذلك وأصبحت تضاف فعلا . لكن أنا أريد أن يظهر العنصر قبل أن أضيف له أي أبناء, لكن بعد ان أضفت التحديد الافتراضي للطول أصبح يظهر إلا بعدما أضيف له إبن
  14. أقصد عندما كنت أضيف تاسك يبقى العنصر الحاوي كما هو ولا يزيد مع إضافتي لكل تاسك
  15. كيف أجعل العنصر الحاوي لدي والذي لديه كلاس tasks يزيد مع زيادة محتواه ؟
  16. تأكدت من طول المصفوفة وهو بالفعل واحد ثم غيرت الكلاس بال id لكن لم أستطع أن أستعمل التنسيق على العنصر بعد جلبه أين يكون المشكل ؟؟؟
  17. لدي عنصر div وله كلاس main <div class="main"> </div> <div class="col"> <ul class="lis"> <li data-color="red" id="red" class="active"></li> <li data-color="blue" id="blue"></li> <li data-color="green" id="green"></li> <li data-color="black" id="black"></li> </ul> </div> <script src="BOM.js"></script> <script src="min.js"></script> </body> عندما أجلبه في ملف javaScript بالطريقة التالية وأطبعه يظهر لي العنصر لكن لا أستطيع أن أطبق عليه اي عملية مثل التنسيقات let mai =document.querySelector(".main"); console.log(mai); //mai.style. ثانيا عندما أجلبه عبر getElementByclassName وأطبعه في الكونسول يظهر لي بأنه HtmlConnectin ما الفرق بين getElementByclassName و querySelector
  18. هل من الضروري الاستعانة بالمصممين في تطوير واجهات المستخدم أم يستطيع المبرمج أن يعمل تصاميم احترافية برمجيا بالhtml مثلا أو أي لغة أخرى مثل مايعمل المصممون.
  19. لكن وجدت في اليوتيوب من وضف الخلفية في وسط scroll... بنفس الطريقة وظهرت له لماذا ؟ إضافة عندما أريد أن أتحكم في أرتفاع الصورة بهذه الطريقة تختفي لماذا؟ const HIGHT= Dimensions.get('window').height; return ( <ImageBackground source={localImage} style={{height:HIGHT*2.5}}> </ImageBackground> )
  20. ما السبب في عدم ظهور الخلفية عندما أضعها داخل ScrollView في react native <ScrollView> <ImageBackground source={localImage} style={stayles.container} resizeMode='cover'> </ImageBackground> </ScrollView>
  21. مرحبا هل تم إكتشاف الخطأ ؟
  22. المشكل أني عندما أسجل الدخول وأخزن المعرف وأطبعه يتم طباعته بشكل صحيح هنا const _SignIn=()=>{ (async()=>{ if (!validate())return; setLoading(true); try{ const response= await axios.post(SIGNIN_URL,{email,password}); setLoading(false); setEmail(''); setPassword(''); AsyncStorage.setItem('accessToken',response.data.accessToken); const userType = response.data.userType; AsyncStorage.setItem('userId',response.data.userId); console.log(userId); if(userType==='student') { props.navigation.navigate('Student'); } else props.navigation.navigate('TeacherPage'); }catch(e){ setLoading(false); setAlert({messages:e.response.data.message,type:'danger'}); } })(); } لكن عندما أستورده هنا في ملف إنشاء حصة يتم طباعته بقيمة null لماذا ؟؟ const _singpRoom=()=>{ (async()=>{ const { Numberofroom, NameOfroom, date, QrCodevalue}=formData; const profileId =await AsyncStorage.getItem('userId'); const QrCode=QrCodevalue; const body={ Numberofroom, NameOfroom, date, QrCode, profileId } try{ const token =await AsyncStorage.getItem('AccessToken'); axios.defaults.headers.common.Authorization =`JWT ${token}`; const response= axios.post(CREATEROOM_URL,body); console.log(body); setFormData({ NameOfroom:'', Numberofroom:'', date:'', QrCode:'' }); props.navigation.navigate('ListRoom'); }catch(e){ } })(); }
×
×
  • أضف...