PDA

View Full Version : سوال: چک کردن تعداد زیاد textbox با کمک حلقه یا استفاده از یه رشته به عنوان اسم متغیر



طاها حک
یک شنبه 28 فروردین 1390, 12:42 عصر
با سلام،
من تو یه صفحه به تعداد زیادی مثلاً 20 تا textbox دارم که می خوام مقادیر اونا رو چک کنم، اسم textboxها رو هم به صورت txt1, txt2, txt3, ... تعریف کردم، حالا می خوام مقاریرشون رو چک کنم، چون تعداد زیاده خواستم اینا رو توی یه حلقه بنویسم ولی نمی دونم چه طور از اسم متغیر ها توی حلقه استفاده کنم، یعنی نمی دونم چه طور اسم باکس ها که مثلاً می شه

"txt"+i



چه طوری به یه اسم متغیر تبدیل کنم، تا بتونم مقدار اون متغیر رو بفهمم.
حالا اگه دوستان هر راه حلی داشتن ممنون می شم که بگن.

hossin.esm
یک شنبه 28 فروردین 1390, 14:35 عصر
راه حل زیاد هست


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
function valfun()
{
for(i=1;i<11;i++)
{

if(document.getElementsByName("txt"+i)[0].value=="")
{
alert("اطلاعات را تکمیل کنید");
document.getElementsByName("txt"+i)[0].focus();
return false;

}
}

return true;


}
</script>
</head>
<body>
<form action="" method="get" name="Form1" onsubmit="javascript:return valfun()">
<input name="txt1" type="text" /><br />
<input name="txt2" type="text" /><br />
<input name="txt3" type="text" /><br />
<input name="txt4" type="text" /><br />
<input name="txt5" type="text" /><br />
<input name="txt6" type="text" /><br />
<input name="txt7" type="text" /><br />
<input name="txt8" type="text" /><br />
<input name="txt9" type="text" /><br />
<input name="txt10" type="text" /><br />


<input type="submit" value="ثبت" /><br />


</form>
</body>
</html>

طاها حک
یک شنبه 28 فروردین 1390, 15:45 عصر
مرسی ، خیلی ممنون
ولی حالا یه سوال داشتم، می شه تو جاوااسکریپت از یه رشته به عنوان اسم متغیر استفاده کرد یا نه؟ یعنی مثلاً فرض کن دو رشته کوچیک رو به هم الحاق کنم و یه رشته دیگه بدست بیاد که تو صفحم یه متغیر همنام با مقدار رشته حاصله داشته باشم. حالا به طریقی می شه از این رشته حاصله در جایی که اسم اون متغیر لازمه استفاده کرد؟

hossin.esm
یک شنبه 28 فروردین 1390, 16:07 عصر
<script>
var a="";
function change(name,value)
{
b=Function(name+"='"+value+"'");
b();
alert(a);

}
change("a","test");
</script>

hossin.esm
دوشنبه 29 فروردین 1390, 00:08 صبح
function valfun()
{
for(i=1;i<11;i++)
{
var x = "txt"+i;
b = Function("return document.Form1."+x);
y=b();
if(y.value=="")
{
alert("اطلاعات را تکمیل کنید");
y.focus();
return false;
}
}
return true;
}

m_karimi
دوشنبه 12 اردیبهشت 1390, 21:30 عصر
function valfun()
{
for(i=1;i<11;i++)
{
var x = "txt"+i;
b = Function("return document.Form1."+x);
y=b();
if(y.value=="")
{
alert("اطلاعات را تکمیل کنید");
y.focus();
return false;
}
}
return true;
}


سلام
میشه لطفا در مورد انواع مختلف تعریف توابع در جاوااسکریپت توضیح دهید. مثلا تعریف تابع در خط 6 به چه صورت است.
با تشکر

hossin.esm
سه شنبه 13 اردیبهشت 1390, 08:57 صبح
سلام

در رابطه با تعریف تابع در خط 6
Function (حرف F بزرگ) یک تابع از پیش تعریف شده هست برای ایجاد تابع ، ورودی این همان کدهای تایع هست که به صورت رشته ای است
چند نمونه
البته روش های دیگری هم میتونه باشه.


<script>
b1=function test1()
{
alert('test1');
}
b2=function ()
{
alert('test2');
}
b3=Function("alert('test 3')");
</script>
<button onclick="b1()">test1</button><br />
<button onclick="test1()">test1</button><br />
<button onclick="b2()">test2</button><br />
<button onclick="b3()">test3</button><br />