راکت
حل شده

فرق کونسول مرورگر با فایل

5 پاسخ

سلام من یه کد جاوااسکریپت دارم که یه لیسنر داره فایلم به این صورته

document.getElementById("btn").addEventListener("click" , evented_func);

function get_input_func() {
    var Height = document.getElementById("Height").value;
    var Weight = document.getElementById("Weight").value;
    var inputs = {"Height" : Height , "Weight":Weight};
    return inputs;
}

function show_func(BMI) {
    document.getElementById("res").textContent = BMI;
}

function claculate_func(vals) {
         var Height = vals["Height"];
         var Weight = vals["Height"];
         var Height_2 = Height * Height;
         var result = Weight / Height_2;
         return result;
}

function evented_func() {
    var inputs = get_input_func();
    console.log(inputs);
    var BMI = claculate_func(inputs);
    show_func(BMI);
}

کافیه همون خط لیسنر رو توی کنسول کپی کنم
کار میکنه مث ساعت
ارور اولیه هم اینه

Uncaught TypeError: document.getElementById(...) is null

الان مشکل همینجاست
اگر تازه کارم ببخشید .

ثبت پرسش جدید

پاسخ‌ها

5
محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

بهترین پاسخ

سلام
نگاه کنید وقتی کد جاوااسکریپت شما اجرا میشه باید به اون باکس دسترسی داشته باشه
اگه فایل js تون رو در آخر صفحه لود کردید که هیچی اما اگه بالا صفحه داخل تگ head اضافه کردید به این مشکل می خورید
برای حل این مشکل توابعتون رو باید داخل document.ready قرار بدید یا اینکه کد های جاوااسکریپت رو در آخر صفحه لود بکنید
داکیومنت ریدی رو من پیشنهاد نمی دم چون یکم سخت تره و ممکنه یکسری ارور داشته باشید و زیاد برای تازه کارا خوب نیست

اگه بخوام مفهومی توضیح بدم چی میشه
اینه که کد ها از بالا خونده می شوند برای همین جاوااسکریپت هاتون اجرا میشن و می بینن که هنوز باکس تو صفحه باز نشده و ارور میده اما کنسول چون بعد از تکمیل شدن لودینگ صفحه کداتون رو اجرا می کنه باکس وجود داره و اروری بر نمی گردونه

سعی کردم ساده توضیح بدم دیگه😄

Ibo Kiani
Ibo Kiani
@abdoki7788

تخصص: Backend developer

میگه btn رو پیدا نکردم
من نفهمیدم توی کنسول درست اجرا نمیشه یا در کل کار نمیکنه؟

Ibo Kiani
Ibo Kiani
@abdoki7788

تخصص: Backend developer

و محض اطلاعتون خط 16 رو مثل خط 15 vals["Height"] گذاشتین

شاید پاسخ شما همین‌جا باشد

:)
:)
@ERR

تخصص: اندروید - تازه کار

با درود
شما احتمالا getElementById("btn") رو قبل از اینکه btn ساخته شده باشه فرخانی کردید و این متد نیز مقدار null برگشت داده که به خاطر اینه که همچین دکمه ای وجود ندارد
توی کنسول کد html شما اجرا شده و این دکمه ساخته شده و به همین دلیل خطا نمیگیره

mmj-sys
mmj-sys
@mmj.sys

تخصص: داش متخصص چیه من پروفسورم .

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام