ورود

View Full Version : ایجاد یک سری اشیاء در صفحه بصورت داینامیک



omid_safari
سه شنبه 28 دی 1389, 12:58 عصر
سلام دوستان
تعداد معینی تکست باکس که تعدادش از سمت سرور مشخص شده باید ایجاد بشه.(مثلا 5تا)
هم برای ساخت و هم برای دسترسی به محتویاتش میخوام از حلقه استفاده کنم.

-ضمنا برای ساخت تکست باکس ها از php در یک حلقه استفاده کردم ولی چون این اشیاء ایندکس ندارند نمیتونم برای دسترسی به محتویاتشون در جاوااسکریپت از حلقه استفاده کنم.
نام اشیاء مثلا item1,item2 تا item5

لطفا کمک کنید.

hossin.esm
سه شنبه 28 دی 1389, 14:08 عصر
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled</title>
<script type="text/javascript">
function getvalue()
{
var l=document.getElementsByName('txt[]').length;
for(i=0;i<l;i++)
{
alert(document.getElementsByName('txt[]')[i].value);
}
}
</script>
</head>
<body>
<form>
<?php
$l=5;
if(isset($_GET['txt']))
{
print "get by php <br />";
foreach ($_GET['txt'] as $key => $value)
echo "$key:$value<br />\n";

}

for($i=0;$i<$l;$i++)
echo "<input type='text' name='txt[]' /><br />";
?>
<input type="submit" value="ارسال" />
</form>
<br />
<input type="button" value="get" onClick="getvalue()" />
</body>
</html>

omid_safari
سه شنبه 28 دی 1389, 14:43 عصر
ممنون.
مثال تون خیلی واضح و خیلی جامع بود.:تشویق:

omid_safari
چهارشنبه 29 دی 1389, 10:10 صبح
سلام
دوست عزیز یه اشکالی که در این روش بوجود اومده اینه که چون یک سری از اشیاء چک باکس هستند و اگر خالی باشند به سرور ارسال نمیشن و نظم آرایه رو در قسمت php بهم میزنن و مثلا اگر چک باکس دوم و سوم تیک نخورند فقط چکباس های 1و4و5 به سرور ارسال میشن و بعنوان چکباسهای اول و دوم و سوم شناخته میشن.
لطفا راه حل ارائه کنین.

omid_safari
چهارشنبه 29 دی 1389, 11:03 صبح
من اومدم وضعیت همه چکباکس ها رو ریختم تو یه آرایه و خود چکباکسها رو از فرم خارج کردم که وضعیتشون مستقیما ارسال نشه.
حالا دارم از متد sendform استفاده میکنم و
میخوام آرایه خودم رو همراه فرم ارسال کنم. چطور باید اینکارو انجام بدم؟

hossin.esm
چهارشنبه 29 دی 1389, 11:25 صبح
دوست عزیز بااضافه کردن value به chechbox میتوان تشخیص داد که چه چک باکس های انتخاب شده


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled</title>
<script type="text/javascript">
function getvalue()
{
var l=document.getElementsByName('txt[]').length;
for(i=0;i<l;i++)
{
alert(document.getElementsByName('txt[]')[i].value);
}
}
</script>
</head>
<body>
<form>
<?php
$l=5;
if(isset($_GET['txt']))
{
print "get by php <br />";
foreach ($_GET['txt'] as $key => $value)
echo "$key:$value<br />\n";

}

for($i=0;$i<$l;$i++)
echo "<input type='checkbox' name='txt[]' value='$i'><br />";
?>

<input type="submit" value="ارسال" />
</form>
<br />
<input type="button" value="get" onClick="getvalue()" />
</body>
</html>