پیاده سازی کد پنجره نمایش پیام هشدار در جاوا اسکریپت
نمایش پنجره پیام هشدار با کلیک روی یک دکمه در جاوا اسکریپت
حل دو مثال از کد پنجره نمایش پیام هشدار در جاوا اسکریپت
جمعبندی
شاید شما نیز تا به حال به چنین مواردی برخورده باشید که به محض ورود یا چند ثانیه بعد از ورود به یک وب سایت، پنجرهای باز شده و پیغام خاصی، مانند پیغام خوش آمدگویی را برایتان نمایش داده باشد. یا روی دکمهای کلیک کردهاید و در مرورگر پنجرهای باز شده و هشداری به شما نشان داده شده باشد. اما چگونه میتوان با html و css این کار را انجام داد؟
باید بگوییم این پنجره با html و css پیادهسازی نشده است. بلکه با زبان محبوب جاوا اسکریپت پیادهسازی شده است. میخواهیم بدانیم چگونه این پنجره نمایش داده میشود. در ادامه با آموزش کد پنجره نمایش پیام هشدار در جاوا اسکریپت با ما همراه باشید.
شکل زیر یک نما از پنجرهی هشدار با پیام خوش آمد گویی را نمایش میدهد:
پیاده سازی کد پنجره نمایش پیام هشدار در جاوا اسکریپت
برای پیادهسازی پنجره هشدار اصلا احتیاج به انجام کارهای پیچیده نیست. این کار با یک تابع ساده به نام alert انجام پذیر است تابع alert یک پارامتر دریافت میکند. این پارامتر میتواند از هر نوع دادهای باشد. میتواند یک متغیر باشد یا حتی میتوانیم به طور مستقیم جملهای را که میخواهیم تابع در پنجره هشدار نمایش دهد را در تابع بنویسیم.
نمایش مستقیم دستور alert در جاوا اسکریپت
می خواهیم بلافاصله پس از ورود کاربر به سایت، یک پنجرهی هشدار مانند عکس فوق برایش ظاهر شده و پیغام خوش آمد گویی را چاپ کند.برای این کار به صورت مثال زیر عمل میکنیم:
<script>
alert("Welcome to \n 7learn");
</script>
در مثال فوق درون تگ اسکریپت در سند html از تابع ()alert استفاده کردهایم و درون " (بخوانید : دابل کوتیشن) نوشتهای را به عنوان پارامتر وارد کردهایم. خروجی قطعه کد فوق به صورت زیر میباشد:
Welcome to 7learn
چرا 7learn به خط دوم آمده است؟ علت چه میتواند باشد؟
علت این موضوع این است که در متن از عملگر خاص n\ استفاده کردهایم. این عملگر هر جایی که استفاده شود، نوشته یا حروف موجود بعد از آن، به خط بعد منتقل میشود.
نمایش پنجره پیام هشدار با کلیک روی یک دکمه در جاوا اسکریپت
می خواهیم کاری کنیم که به محض کلیک روی یک دکمه، پنجرهی هشدار ظاهر شود. چگونه این کار را انجام دهیم؟
برای نمایش پیغام راه حل مشخص است و آن استفاده از تابع alert میباشد ولی چگونه آن را روی یک دکمه پیاده سازی کنیم؟
برای این کار دو روش داریم :
روش اول -> روش مستقیم
در این روش میتوانیم به صورت مستقیم در ویژگی onclick که یک ویژگی رویدادی است درون تگ button، استفاده کنیم و کدها را به صورت مستقیم، درون آن بنویسیم:
<button onclick="alert('anything')"> I can do </button>
در خروجی به محض کلیک روی این دکمه یک پنجره باز میشود که پیغام anything را چاپ میکند.
روش دوم -> روش غیر مستقیم
در این روش ابتدا کد را در یک تابع درون فایل جاوا اسکریپت مینویسیم و سپس توسط تگ script به سند html متصل میکنیم. به مثال زیر دقت کنید:
function example(){
alert("enything");
}
کدهای فوق را درون فایل جاوا اسکریپت مینویسیم و نام فایل را example.js میگذاریم.
در سند html فایل فوق را به صورت زیر load میکنیم و همچنین نام تابع را در ویژگی رویدادی onclick مینویسیم :
<script src="example.js"></script>
<button onclick=example(); > I can do </button>
در ادامه وقتی که روی دکمه I can do کلیک میکنیم، یک پنجره باز میشود که anything را نمایش میدهد.
حل دو مثال از کد پنجره نمایش پیام هشدار در جاوا اسکریپت
مثال یک: ساخت پنجره دریافت ورودی از کاربر
برنامهای بنویسید که به محض اینکه کاربر وارد صفحه وب سایت شد، سن او را بپرسید و سال تولد او را چاپ کنید.
برای حل این سوال باید با یک تابع به نام ()prompt آشنا شویم تابع ()prompt یک ورودی از کاربر دریافت میکند. این تابع میتواند یک متن به عنوان ورودی دریافت کند که توسط آن به کاربر میگوییم چه چیزی میخواهیم. میدانیم برای نمایش خروجی در یک پنجره هشدار در یک وبسایت باید از تابع ()alert استفاده کنیم. بنابراین پاسخ مثال فوق به صورت زیر است:
<script>
var a=prompt("how old you?");
var year=1399-a;
alert("your birth year is "+year);
</script>
به سادگی با استفاده از تابع ()prompt مثال اول را حل کردیم. دریافتیم در جاوا اسکریپت میتوانیم از مخلوط متغیر و رشته به صورت مستقیم در تابع () alert استفاده کنیم.
مثال دوم: نمایش پیام خوش آمدگویی بعد از ۳ ثانیه
برنامهای بنویسید که پس از گذشتن سه ثانیه از ورود کاربر به سایت، پیغام خوش آمدگویی را برای کاربر نمایش دهد.
برای حل سوال یک چالش داریم و آن فراخوانی alert بعد از ۳ ثانیه است.
در اینجا باید از تابعی به نام ()settimeout استفاده کنیم تابع ()settimeout یک تابع بدون نام(anonymous) دریافت میکند و یک عدد که بیانگر زمان به واحد میلیثانیه است.این تابع دستوراتی را که به صورت تابع مشخص شده است را بعد از گذشتن ثانیههای مشخص شده چاپ میکند.
<script>
setTimeout(function(){alert("welcome to 7learn"); },3000);
</script>
در اینجا پس از گذشت سه ثانیه پیغام خوش آمدگویی چاپ میشود.
جمعبندی
در این مقاله به آموزش نمایش پیام خوش آمد گویی و آموزش پیاده سازی آن بر روی یک دکمه پرداختیم. همچنین یادگرفتیم که چگونه کاری کنیم بعد از گذشت ثانیههای مشخص شده، پیامی برای کاربر نمایش داده شود. اگر دربارهی این مقاله سوال یا نظری داشتید خوشحال میشویم که با ما و کاربران سون لرن به اشتراک بگذارید.
اگر میخواهید بیشتر درباره برنامه نویسی جاوا اسکریپت مطالعه کنید مقالات زیر را دنبال کنید
این مقاله تنها بخش کوچکی از آموزشی است که شرکت کنندههای دورهی متخصص جاوا اسکریپت میگذرانند، اگر به یادگیری بیشتر در زمینه جاوا اسکریپت علاقه داری، با شرکت در دوره آموزش جاوا اسکریپت در کمتر از یک سال به یک متخصص JS همه فن حریف تبدیل میشوی که آمادهی استخدام، دریافت پروژه و یا فول-استک شدن هستی.
۴۳ دیدگاه
محمد (Full Stack)۲۳ آبان ۱۴۰۲، ۱۵:۵۲
با عرض سلام در قسمت
var year=1399-a;
1399 را به 1402 تغییر دهید
باتشکر🤗
۲۷ بهمن ۱۴۰۱، ۲۰:۵۸
سلام و تشکر از مقاله خوبتون و توضیحات صریح شما، یک سوالی برای من پیش اومده در باره متد setimeout اینکه به چه دلیلی یک متد بدون نام میگیره؟
نازنین کریمی مقدم۳۰ بهمن ۱۴۰۱، ۰۶:۲۴
درود
کلا درون ست تایم اوت هرچیزی میتونید بگذارید، اینجا بسته به منطق کد به این صورت ورودی داده شده.
۲۵ تیر ۱۴۰۱، ۰۶:۲۲
با سلام و ممنون از سایت خوبتون . من میخواستم برنامه ای بنویسم که رویداد هایی که در چهار روز قبل و چهار روز بعد یادداشت شده هستند رو به صورت پیغام به کاربر نمایش بده.این برنامه رو فقط با js , html , css میتونم بسازم یا نیاز به یک برنامه دیگه ای هم هست ؟
نازنین کریمی مقدم۲۵ تیر ۱۴۰۱، ۱۹:۳۰
درود
خیر با همونا میتونید بنویسید و نیاز به یادگیری زبان دیگری نیست.
میکائیل۲۳ اسفند ۱۳۹۹، ۰۶:۵۱
سلام من ازین کد میخوام بسازم ولی با این تفاوت که دکمه نداشته باشه باشد کجا رو تغییر بدم ؟
نازنین کریمی مقدم۲۵ اسفند ۱۳۹۹، ۲۱:۳۲
سلام.
پیامتون بدون دکمه باشه؟
یا از اول اون دکمه رو نداشته باشیم که روش کلیک کنیم و پیام بیاد؟
حسین سلیمی۲۱ خرداد ۱۳۹۹، ۱۳:۳۱
سلام.خیلیم عالی بود مقاله.لطفا در مورد پیغامی که بعد از باز کردن سون لرن میاد هم یک مقاله ای بنویسید.
فائقه نامور۲۱ مرداد ۱۳۹۹، ۱۰:۰۹
سلام ممنون از توجه شما
موردی که اشاره فرمودید به تیم تولید محتوا انتقال داده میشود
ehsan m۲۳ تیر ۱۳۹۵، ۰۰:۳۸
اینطور نوشتن ایمن هست؟
var jvalue = 'this is javascript value';
<?php $abc = "document.write(jvalue)"?>
لقمان آوند۲۳ تیر ۱۳۹۵، ۱۸:۲۵
درست نیست این مورد .
ehsan m۲۳ تیر ۱۳۹۵، ۰۰:۲۶
سلام
چطور میتونم مقدار یک متغیر جاوااسکریپتی رو توی یک متغیر php قرار بدم؟
لقمان آوند۲۳ تیر ۱۳۹۵، ۰۰:۳۱
js سمت کاربره و php سمت سرور!
می تونید با درخواستهای ایجکس مقادیر متغیرهای js رو سمت سرور بفرستید و اونجا ازشون استفاده کنید.
ehsan m۲۳ تیر ۱۳۹۵، ۰۰:۳۶
آخه پروژه ام خیلی ایجکس توی ایجکس شده صفحه کند میشه ، راه دیگه ای هست آقای آوند؟ امنیت هم داشته باشه ممنون
لقمان آوند۲۳ تیر ۱۳۹۵، ۱۸:۲۳
خیر همین راهشه ...
اکبر۲۰ شهریور ۱۳۹۴، ۰۷:۰۱
باسلام بنده اگه بخوام یه متن فارسی روبه عنوان هشدار نمایش بدم بصورت ناخواناهس مشکل کجاست .
البته مشکلو برطرف کردم نمیدونم چرا یعضی موقعها که جاوااسکریپت رو تو یه فایل جدا نوشته وفراخوانی میکنم اینطور میشه مجبور شدم تو خود صفحه بنویسم راهنمایی بفرمایید
وحید صالحی۲۲ شهریور ۱۳۹۴، ۱۹:۵۲
encoding صفحه مورد نظر که کدهای جاوااسکریپت رو درش مینویسد روی utf-8 بزارید
نفس اصولی۰۵ مرداد ۱۳۹۴، ۱۹:۴۷
سلام... با تشکر از سایت فوق العاده مفیدتون... برای تغییر title این alret باکس چه کار باید کرد؟
وحید صالحی۰۵ مرداد ۱۳۹۴، ۲۰:۰۱
سلام دوست عزیز API یی برای تغییر در این مورد وجود نداره برای حفظ مسائل امنیتی و نمیشه این تغییر رو ایجاد کرد البته با vbscript میشه که اون خودش یکسری پیش نیاز هایی رو لازم داره که صرف نمیکنه براش زمان بزاری برای اینکار شما بهتر یک alert box سفارشی استفاده کنید مثل استفاده از پلاگینهای موجود که چند نمونش رو در لینکهای زیر براتون قرار دادم موفق باشید.اگر هم گوگل کنید موارد زیادی پیدا خواهید کرد با استایلهای متفاوت کافیه عبارت<strong> alert box with jquery</strong> رو سرچ کنید
<a href="http://www.bitrepository.com/stylish-javascript-dialog-boxes.html" target="_blank" rel="nofollow">لینک1</a>
<a href="http://www.sitepoint.com/10-jquery-alert-windows-prompts/" target="_blank" rel="nofollow">لینک 2</a>
سحر۱۹ تیر ۱۳۹۴، ۰۹:۴۸
سلام وقت بخیر من مبتدی هستم
این کد رو باید در کدوم قسمت سایت قرار بدیم؟
آیا برای استفاده از کدهای جاوا اسکریپت باید کتابخانه خاصی رو در سایت الحاق کنیم؟ واگه اینطوره بگید چطوری..ممنون
کیوان علی محمدی۲۷ تیر ۱۳۹۴، ۰۶:۱۸
سلام کد رو در بین تگهای head صفحه مورد نظرتون قرار بدین. اکثر کدها نیاز به وکتابخونه جی کوئری دارن (البته کد این مطلب نیاز نداره)
مریم۱۹ اردیبهشت ۱۳۹۴، ۱۵:۳۸
سایت جامعی بود .ممنون
مریم۱۸ اردیبهشت ۱۳۹۴، ۱۵:۳۱
سلام خسته نباشید.
چطور میشه تو php کدی نوشت که اگه فیلدی اشتباه پر شد یه ستاره قرمز کنارش بزاره.
و اگه مثلا بخواهیم رکوردی رو حذف کنیم پیغام بده که مطمعا هستید و 2تا دکمه okوcancel بذاره و با okکردن حذف بشه.
ممنون میشم زود پاسخ بدین چون بهش نیاز دارم.
لقمان آوند۱۸ اردیبهشت ۱۳۹۴، ۱۶:۵۲
این کار باید با جاوااسکریپت انجام بشه .
مریم۱۹ اردیبهشت ۱۳۹۴، ۱۴:۱۸
خواهش میکنم اگه به این زبان مسلطین ،بگین که چطور باید بنویسمش.
مثل همین قسمت ارسال دیدگاه که اگه نام یا ایملو وارد نکنی پیغام میده.
لقمان آوند۱۹ اردیبهشت ۱۳۹۴، ۱۴:۲۶
عبارت form validation using javascript رو تو گوگل سرچ کنید کلی آموزش در این مورد وجود داره . میتونید مطالعه بفرمایید.
Milad۲۵ مهر ۱۳۹۳، ۱۷:۵۹
سلام
امکانش هست کاری کرد مثلا برای هر آی پی هر 12 ساعت یکبار نمایش داده بشه؟
لقمان آوند۲۵ مهر ۱۳۹۳، ۱۹:۴۸
با کمک گرفتن از کوکیها و ثبت آخرین زمان باز شدن پیام میشه این کار رو انجام داد .
Milad۲۶ مهر ۱۳۹۳، ۰۸:۰۲
به چه صورت؟
اگه ممکنه این قسمتم به آموزشتون اضافه کنید هم آموزشتون کامل میشه هم کار ما راه میفته :grin:
ممنون
لقمان آوند۲۶ مهر ۱۳۹۳، ۰۸:۳۹
وقتی پیامو نشون میدید باید زمانش رو در یک کوکی ثبت کنید .
در دفعات بعدی که کاربر میخواد سایتو ببینه اون کوکی رو بگیرید و بررسی کنید ایا 12 ساعت گذشته یا نه . اگه گذشته بود بهش نشون بدید و دوباره کوکی رو اپدیت کنید .
می تونید از پلاگین cookie جی کوئری استفاده کنید .
شاهرخ۱۱ خرداد ۱۳۹۳، ۱۹:۴۴
سپاسگزارم دوست عزیز .
پاپ اپ هایی که اغلب تبلیغاتی هستند و زمان لود شدن صفحه نمایان میشه رو اگه امکان داره اسکریپتشو بذارین . بازم ممنون
شاهرخ۱۱ خرداد ۱۳۹۳، ۱۶:۴۶
غیر از هشدار متنی یا همون آلرت هشدار تصویری هم داریم ؟
لقمان آوند۱۱ خرداد ۱۳۹۳، ۱۹:۳۰
خیر، مگر اینکه با استفاده از تگهای html و کدهای جاوااسکریپت چنین چیزی رو اضافه کنید .
مثلا یه تگ div که شامل تصویر هست رو اول به صورت مخفی دارید و با رخداد اتفاق خاصی با استفاده از جاوااسکریپت اون رو نمایان کنید .
بی نام۱۹ بهمن ۱۳۹۲، ۰۶:۳۳
مطلب بسیار مفیدی بود.متشکر :?:
javad۱۵ دی ۱۳۹۲، ۱۷:۴۸
مرررررررررررسی
restless۱۵ آبان ۱۳۹۲، ۱۹:۳۵
ممنون بسیار عالی ....
مسپ۳۱ شهریور ۱۳۹۲، ۰۴:۳۹
سلام خسته نباشید از سایت خوبتون میخواستم ببینم چه طورمی تونم در سایتم مثل شما آمار بازدید کنندهها رو بیارم اگر زحمتی براتون نیست لطفا جواب رو اگه خواستید ایمیل کنید
کیوان علی محمدی۳۱ شهریور ۱۳۹۲، ۰۵:۲۱
سلام افزونه wp-statistics رو امتحان کنید.
کاوه۱۸ مرداد ۱۳۹۲، ۱۵:۴۶
من یک کدی میخوام که یک سایت دیگه رو داخل کادری تو وبلاگم نشون بده و لود کنه
کیوان علی محمدی۱۸ مرداد ۱۳۹۲، ۱۷:۲۷
سلام میتونی از iframeها استفاده کنی،<a href="https://7learn.com/tutorials/html-part11-framesets" target="_blank" rel="nofollow">این مطلب </a>رو بخون
abas۲۹ بهمن ۱۳۹۱، ۱۴:۰۰
سلام اقا مرسییییییییییییییییییییییییییی سری به وبلاگم بزن
amirhosein.m۱۹ بهمن ۱۳۹۱، ۱۱:۰۹
فقط یه مشکل داره که هر قسمتی میری دوباره پیغام رو نشون میده و اعصاب خواننده رو داغون میکنه!
armansalimzadeh۱۰ آذر ۱۳۹۱، ۰۶:۰۸
سلام لقمان جان عالی بود.کار کرد.آرمان
شروع رایگان یادگیری برنامه نویسی
کلیک کنید 👇
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: