Ahmed Soliman12 نشر 12 سبتمبر 2022 أرسل تقرير نشر 12 سبتمبر 2022 السلام عليكم الفورم دي عاوز أخد منها ال value اللي هيحددها ال user : <form id="sizePicker"> <input type="number" id="inputHeight" name="height" min="1" value="1"> Grid Width: <input type="number" id="inputWidth" name="width" min="1" value="1"> <input type="submit"> </form> دايما بيظهر لي ال default value 2 اقتباس
0 Kais Hasan نشر 12 سبتمبر 2022 أرسل تقرير نشر 12 سبتمبر 2022 هل يمكنك مشاركة الكود الذي تقوم عن طريقه بأخذ القيم من ال form؟ 1 اقتباس
0 معاذ قره محمد نشر 12 سبتمبر 2022 أرسل تقرير نشر 12 سبتمبر 2022 وعليكم السلام جربت الكود الخاص بك، القيمة في الinput تتغير بشكل طبيعي، قم بإضاحة المشكلة بشكل أكبر لنستطيع مساعدتك 1 اقتباس
0 Ahmed Soliman12 نشر 12 سبتمبر 2022 الكاتب أرسل تقرير نشر 12 سبتمبر 2022 بتاريخ On 12/9/2022 at 13:27 قال معاذ قره محمد: وعليكم السلام جربت الكود الخاص بك، القيمة في الinput تتغير بشكل طبيعي، قم بإضاحة المشكلة بشكل أكبر لنستطيع مساعدتك أظهر المزيد نعم القيمة تتغير ولكن لايمكن الحصول عليها في متغير مثلا: const sub = document.querySelector("input[type='submit']"); function makeGrid() { const gridHeight = document.getElementById("inputHeight").value; console.log(gridHeight); } sub.addEventListener('click',makeGrid()); اذا غيرت القيمة في الinput لن تحصل إلا علي ال default value وهي 1 اقتباس
0 معاذ قره محمد نشر 12 سبتمبر 2022 أرسل تقرير نشر 12 سبتمبر 2022 بتاريخ On 12/9/2022 at 14:06 قال Ahmed Soliman12: نعم القيمة تتغير ولكن لايمكن الحصول عليها في متغير مثلا: const sub = document.querySelector("input[type='submit']"); function makeGrid() { const gridHeight = document.getElementById("inputHeight").value; console.log(gridHeight); } sub.addEventListener('click',makeGrid()); اذا غيرت القيمة في الinput لن تحصل إلا علي ال default value وهي 1 أظهر المزيد أخي كل ما عليك حذف الأقواس عند دالة makeGrid داخل الaddEventListener: sub.addEventListener("click", makeGrid) في حال وضعت الأقواس ستنفذ الطريقة لمرة واحدة فقط عند بدء البرنامج. لأن وضع الأقواس يكون لاستدعاء الطريقة وتنفيذها، أما هنا نحن نريد مرجع الطريقة في الذاكرة دون تنفيذها لأن التنفيذ سيتم عند النقر فقط. 1 اقتباس
0 Kais Hasan نشر 12 سبتمبر 2022 أرسل تقرير نشر 12 سبتمبر 2022 (معدل) بتاريخ On 12/9/2022 at 14:06 قال Ahmed Soliman12: نعم القيمة تتغير ولكن لايمكن الحصول عليها في متغير مثلا: const sub = document.querySelector("input[type='submit']"); function makeGrid() { const gridHeight = document.getElementById("inputHeight").value; console.log(gridHeight); } sub.addEventListener('click',makeGrid()); اذا غيرت القيمة في الinput لن تحصل إلا علي ال default value وهي 1 أظهر المزيد إن الخطأ هو في التابع الذي تقوم بتمريره إلى ال addEventListener حيث أنك تقوم باستدعاء التابع و ليس القيام بتمرير اسمه فقط. عليك فقط القيام بتمرير التابع. أي أننا في هذه الطريقة نقوم بتمرير اسم التابع حتى يعرف ما الذي يجب تنفيذه عند حدوث ال event و هو يقوم بتنفيذ التابع عند حدوثه و بالتالي تكون القيمة المناسبة موجودة في مكون ال html. بينما في حال استدعينا التابع فوراً فسيأخذ القيمة الافتراضية تلقائياً و لن يقوم بتحديث شيء. تم التعديل في 12 سبتمبر 2022 بواسطة Kais Hasan 1 اقتباس
0 Ahmed Soliman12 نشر 12 سبتمبر 2022 الكاتب أرسل تقرير نشر 12 سبتمبر 2022 بتاريخ On 12/9/2022 at 14:20 قال Kais Hasan: إن الخطأ هو في التابع الذي تقوم بتمريره إلى ال addEventListener حيث أنك تقوم باستدعاء التابع و ليس القيام بتمرير اسمه فقط. عليك فقط القيام بتمرير التابع. أظهر المزيد هذا حل المشكلة ولكن الرقم يظهر ويختفي في ال console 1 اقتباس
0 معاذ قره محمد نشر 16 سبتمبر 2022 أرسل تقرير نشر 16 سبتمبر 2022 بتاريخ On 12/9/2022 at 14:48 قال Ahmed Soliman12: هذا حل المشكلة ولكن الرقم يظهر ويختفي في ال console أظهر المزيد لو تزوّدنا بصور مشكلتك والكود المستخدم كما هو سنستطيع مساعدتك بشكل أكبر. 1 اقتباس
0 Ahmed Soliman12 نشر 16 سبتمبر 2022 الكاتب أرسل تقرير نشر 16 سبتمبر 2022 بتاريخ On 16/9/2022 at 08:15 قال معاذ قره محمد: لو تزوّدنا بصور مشكلتك والكود المستخدم كما هو سنستطيع مساعدتك بشكل أكبر. أظهر المزيد شكرا لك حلت المشكلة وحلها كان event.preventDefault 1 اقتباس
السؤال
Ahmed Soliman12
السلام عليكم
الفورم دي عاوز أخد منها ال value اللي هيحددها ال user :
دايما بيظهر لي ال default value
8 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.