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

السؤال

نشر

السلام عليكم

الفورم دي عاوز أخد منها ال 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

Recommended Posts

  • 0
نشر
  بتاريخ 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
نشر
  بتاريخ 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)

في حال وضعت الأقواس ستنفذ الطريقة لمرة واحدة فقط عند بدء البرنامج. لأن وضع الأقواس يكون لاستدعاء الطريقة وتنفيذها، أما هنا نحن نريد مرجع الطريقة في الذاكرة دون تنفيذها لأن التنفيذ سيتم عند النقر فقط.

  • 0
نشر (معدل)
  بتاريخ 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.

بينما في حال استدعينا التابع فوراً فسيأخذ القيمة الافتراضية تلقائياً و لن يقوم بتحديث شيء.

تم التعديل في بواسطة Kais Hasan
  • 0
نشر
  بتاريخ On 12‏/9‏/2022 at 14:20 قال Kais Hasan:

إن الخطأ هو في التابع الذي تقوم بتمريره إلى ال addEventListener حيث أنك تقوم باستدعاء التابع و ليس القيام بتمرير اسمه فقط.

عليك فقط القيام بتمرير التابع.

أظهر المزيد  

هذا حل المشكلة ولكن الرقم يظهر ويختفي في ال console

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...