View Full Version : تشخیص نوع کنترل با Javascript
dr_csharp
چهارشنبه 28 آذر 1386, 20:35 عصر
سلام
دوستان روشی برای تشخیص نوع کنترل های موجود بر روی صفحه با javascript هست ؟
مثلا من میخوام با یک دستور script مقادیر درون تمام کنترل های از نوع TextBox رو پاک کنم !
neopersia
پنج شنبه 29 آذر 1386, 00:46 صبح
با این کد کاری رو که میخوای میتونی انجام بدی
کافیه مثلاً اونو تو یه تابع قرار بدی و با رویداد onclick تابع رو صدا بزنی تا همه تکست باکسهای تو صفحه رو خالی کنه:
var all_inputs = document.getElementsByTagName("input");
for (i=0; i < all_inputs.length; i++)
{
if(all_inputs[i].type == "text")
{
all_inputs[i].value = '';
}
}
mohseni12345
پنج شنبه 29 آذر 1386, 00:49 صبح
document.getElementsByTagName('input')
مثلا با این کد تمام عنصرهای اینپوت انتخاب میشند
dr_csharp
پنج شنبه 29 آذر 1386, 08:52 صبح
با این کد کاری رو که میخوای میتونی انجام بدی
کافیه مثلاً اونو تو یه تابع قرار بدی و با رویداد onclick تابع رو صدا بزنی تا همه تکست باکسهای تو صفحه رو خالی کنه:
var all_inputs = document.getElementsByTagName("input");
for (i=0; i < all_inputs.length; i++)
{
if(all_inputs[i].type == "text")
{
all_inputs[i].value = '';
}
}
راهنمایی شما برای TextBox های Multiline جواب نمیده !!!
oxygenws
پنج شنبه 29 آذر 1386, 10:24 صبح
راهنمایی شما برای TextBox های Multiline جواب نمیده !!!
:) تکست باکس مولتی لاین نداریم :)
خدا این مایکروسافتیون رو هدایت کنه.... بهش می گن textarea.
بهتره در کنار asp.net فقط یک کم اطلاعات html ات رو هم زیاد کنی.
dr_csharp
پنج شنبه 29 آذر 1386, 11:08 صبح
function CancelRegistration()
{
var all_inputs = document.getElementsByTagName("input");
for (i=0; i < all_inputs.length; i++)
{
if(all_inputs[i].type == "text" )
{
all_inputs[i].value = '';
}
}
var all_textarea = document.getElementsByTagName("textarea");
for (i=0; i < all_textarea.length; i++)
{
if(all_textarea[i].type == "textarea")
{
all_textarea[i].value = '';
}
}
}
Ali_ix
پنج شنبه 29 آذر 1386, 19:17 عصر
داخل javascript از طریق DOM خیلی راحت میتونید روی اجزای صفحه کنترل داشته باشید و مانور بدید. بهتره کمی هم راجع به DOM مطالعه کنید.
neopersia
جمعه 30 آذر 1386, 01:17 صبح
document.getElementsByTagName('input')
مثلا با این کد تمام عنصرهای اینپوت انتخاب میشند
بله
این دستور همه عناصری رو که با استفاده از تگ input ساخته شدند در یک آرایه عددی جمع میکنه
البته چون دوستمون گفته بودن که میخوان "مقادیر درون تمام کنترل های از نوع TextBox رو پاک کنم" من از این کد استفاده کردم وگرنه راه صحیحترش دسترسی به عناصر از طریق فرم حاوی اونها هست چون ممکنه تو یک صفحه بیشتر از یک فرم وجود داشته باشه که لازم نباشه تکست باکسهای همشون خالی بشه.
function ClearTextBoxes()
for (i = 0; i < document.forms['FORM_NAME'].elements.length; i++)
{
if (document.forms['FORM_NAME'].elements[i].type == "text")
document.forms['FORM_NAME'].elements[i].value = "";
}
}
neopersia
جمعه 30 آذر 1386, 01:32 صبح
function CancelRegistration()
{
var all_inputs = document.getElementsByTagName("input");
for (i=0; i < all_inputs.length; i++)
{
if(all_inputs[i].type == "text" )
{
all_inputs[i].value = '';
}
}
var all_textarea = document.getElementsByTagName("textarea");
for (i=0; i < all_textarea.length; i++)
{
if(all_textarea[i].type == "textarea")
{
all_textarea[i].value = '';
}
}
}
البته کد شما رو من امتحان کردم و کار میکنه ولی میتونید شرط زیر رو از اون حذف کنید:
if(all_textarea[i].type == "textarea")
چون برخلاف تگ input که چند نوع عنصر را در صفحه میتونه ایجاد کنه که با شناسه type نوع این عنصرها مشخص میشه تگ textarea فقط همون یه نوع عنصر رو میسازه شناسه type نداره:
function CancelRegistration()
{
var all_inputs = document.getElementsByTagName("input");
for (i=0; i < all_inputs.length; i++)
{
if(all_inputs[i].type == "text" )
{
all_inputs[i].value = '';
}
}
var all_textarea = document.getElementsByTagName("textarea");
for (i=0; i < all_textarea.length; i++)
{
all_textarea[i].value = '';
}
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.