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

كيفية الحصول على بيانات من html باستخدام جافاسكريبت

Ahmed Soliman12

السؤال

السلام عليكم

الفورم دي عاوز أخد منها ال 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
بتاريخ 49 دقائق مضت قال معاذ قره محمد:

وعليكم السلام

جربت الكود الخاص بك، القيمة في ال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
بتاريخ 10 دقائق مضت قال 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
بتاريخ 14 دقائق مضت قال 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
بتاريخ 25 دقائق مضت قال Kais Hasan:

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

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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 9/12/2022 at 17:48 قال Ahmed Soliman12:

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

لو تزوّدنا بصور مشكلتك والكود المستخدم كما هو سنستطيع مساعدتك بشكل أكبر.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 8 ساعات قال معاذ قره محمد:

لو تزوّدنا بصور مشكلتك والكود المستخدم كما هو سنستطيع مساعدتك بشكل أكبر.

شكرا لك حلت المشكلة وحلها كان event.preventDefault

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...