رویداد onchange
مثال (رویداد onchange)
اجرا کردن یک تابع جاوااسکریپت هنگامی که کاربر گزینه ی یک تگ <select> را تغییر دهد:
خودتان امتحان کنید »
در انتهای این صفحه، مثال های بیشتری آورده شده است.
تعریف و کاربرد
رویداد onchange زمانی روی می دهد که، مقدار یک عنصر تغییر کند.
برای radiobuttons(دکمه های رادیویی) و چک باکس ها، رویداد onchange زمانی روی می دهد که منطقه ی تیک خوردن تغییر کند.
نکته: این رویداد مشابه رویداد oninput است. تفاوت این دو در این است که، رویداد oninput بلافاصله بعد از اینکه مقدار یک عنصر تغییر کرد اجرا می شود در حالی که رویداد onchange هنگامی روی می دهد که عنصر، فوکس را از دست بدهد. تفاوت دیگر در این است که رویداد onchange همچنین بر روی عناصر <keygen> و <select> کار می کند.
پشتیبانی مرورگرها
Event | |||||
---|---|---|---|---|---|
onchange | بله | بله | بله | بله | بله |
نحوه استفاده
در HTML:
در جاوااسکریپت:
استفاده از متد addEventListener() در جاوااسکریپت:
متد addEventListener() در Internet Explorer 8 و ورژن های پایین تر از آن پشتیبانی نمی شود.
جزئیات تکنیکی
Bubbles: | بله |
---|---|
Cancelable: | خیر |
Event type: | Event |
Supported HTML tags: | <input type="checkbox">, <input type="file">, <input type="password">, <input type="radio">, <input type="range">, <input type="search">, <input type="text">, <keygen>, <select> and <textarea> |
DOM Version: | Level 2 Events |
مثال - خودتان امتحان کنید
مثال (رویداد onchange)
اجرا کردن یک تابع جاوااسکریپت، هنگامی که کاربر محتوای یک فیلد input را تغییر می دهد:
خودتان امتحان کنید »
مرجع کلیه رویدادهای JavaScript
- نوشته شده توسط احسان عباسی
- بازدید: 11463
دیدگاهها
سلام
من قصد دارم داخل تگ select کاربر روی هر option که کلیک میکنه، یه صفحه مربوط به اون option هدایت بشه. ممکنه راهنمایی بفرمایید باید چکار کنم؟
سلام.
برای این کار باید value هر option آدرس صفحه موردنظر رو بذارید و در رویداد onclick یا onchage کنترل select کد زیر رو بنویسید:
;window.location.href = this.value
سلام
من قصد دارم داخل تگ select کاربر روی هر option که کلیک میکنه، به صفحه مربوط به اون option هدایت بشه. ممکنه راهنمایی بفرمایید باید از چکار کنم؟
با عرض سلام من یک سوال داشتم اگر به بنده جواب بدید ممنون میشم
من
میخواستم با رویداد onchange داخل کادرم هر عددی بیشتر از 255 وارد کردم اون عدد بصورت اتوماتیک خودش به عدد 255 تغییر کند , من این کارو انجام دادم ولی باید حتما اینتر کنم یا یک بار کلیک کنم که به عدد 255 تعییر کند من میخوام بدون زدن دکمه اینتر خودش تغییر کند (من با jquery این برنامه رو نوشتم )
ممنون میشم کمکم کنید
با عرض سلام من یک سوال داشتم اگر به بنده جواب بدید ممنون میشم
من
میخواستم با رویداد onchange داخل کادرم هر عددی بیشتر از 255 وارد کردم اون عدد بصورت اتوماتیک خودش به عدد 255 تغییر کند , من این کارو انجام دادم ولی باید حتما اینتر کنم یا یک بار کلیک کنم که به عدد 255 تعییر کند من میخوام بدون زدن دکمه اینتر خودش تغییر کند (من با jquery این برنامه رو نوشتم )
ممنون میشم کمکم کنید
با سلام و خسته نباشید.
باید با رویداد keyup کار کنید. کد زیر مشکل شما رو حل میکنه.
$("#controlName").keyup(function(){
if($(this).val( ) > 255){
$(this).val(255 );
}
});
controlName در واقع id کنترل تکستباکسی هست که شما قصد انجام عملیات رو دارید.