PDA

View Full Version : قرار دادن مقدار بازگشتي از يك تابع جاوااسكريپت به يك متغير php



yasercomeng
یک شنبه 17 شهریور 1387, 07:58 صبح
سلام.من مي خوام يه مقدار را از يه تابع جاوا اسكريپت به يك متغير php نسبت بدم. البته به صورت زير. اين تابع تويه تابع onchange مربوط به combobox اول و دوم فراخواني مي شه ولي نتيجه اي كه هميشه برگردانده مي شود خالي است. من چه طوري مي تونم اين كارو انجام بدم.

شايد روالي كه استفاده كردم درست نباشه. اما هدفم از اين كار اينه كه وقتي كاربر از كمبوباكس اول آيتمي رو انتخاب كرد، اطلاعات زير مجموعه ي شي انتخاب شده از پايگاه دريافت بشه و در كمبوباكس دوم نشان داده بشه.

اينم كد:



<select dir="rtl" id="Category" onchange="var CID=SelectIndex('Category');">
<option value="" selected="selected"></option>
<?php
$query="select CategoryID,Category from Category";
$result=ExecuteQuery($query);
$num=mysql_num_rows($result);
for($i=0;$i<$num;$i++)
{
$rows=mysql_fetch_array($result);
echo '<option value="'.$rows[0].'">'.$rows[1].'</option>';
}
?>
</select>

<select dir="rtl" id="Kind" onchange="var ID=SelectIndex('Kind');">
<?php
$SelectedCID="<script>document.write(CID)</scrip>";
$query="select Name from Kind where CategoryID=$SelectedCID";
$result=ExecuteQuery($query);
$num=mysql_num_rows($result);
for($i=0;$i<$num;$i++)
{
$rows=mysql_fetch_array($result);
echo '<option value="'.$i.'">'.$rows[0].'</option>';
}
?>
</select>

اينم كد جاوا اسكريپت:

<script language=\"javascript\" charset=\"utf8\">
function SelectIndex(var TableName)
{
return document.getElementById(TableName).options[document.getElementById(TableName).selectedIndex].value;
}
</script>

Lagon666
یک شنبه 17 شهریور 1387, 08:37 صبح
پیشتر بحث شده. (http://barnamenevis.org/forum/showthread.php?t=118351)


http://barnamenevis.org/forum/showthread.php?t=118351

yasercomeng
یک شنبه 17 شهریور 1387, 14:06 عصر
نه اون كد مشكلمو حل نكرد. شيوه ش كاملاً ايستا بود من برعكس كاملاً پويا مي خوام كار كنم. من اطلاعات رو از پايگاه داده دريافت مي كنم اطلاعاتي كه همواره در حال اظافه شدن هستند در ظمن اگر دقت كرده باشين تويه قسمتي كه كمبوباكس دوم مقدار دهي مي شه من مي خوام شماره ي index كمبوباكس اول رو بدست بيارم.چون query كه مي گيرم كاملاً وابسته به اون است. اگه توجه كرده باشين آيتم هاي كمبوباكس اول هم از پايگاه دريافت مي شوند.پس من علناً هيچ گزينه ي از پيش شناخته شده اي ندارم. من هر چي فكر كردم نتونستم با استفاده از خط مشي ارائه شده تو اون لينك اين رويه رو بدست بيارم.

اگه كدي بهم نشون بدين كه شماره ي index آيتم انتخاب شده در كمبو باكس اول رو بهم برگردونه و اين شماره رو بتونه تو يه متغير php ذخيره كنه مشكلم حله و منم از شما خيلي خيلي تشكر مي كنم.

امید امرایی
چهارشنبه 20 شهریور 1387, 12:47 عصر
ابتداعا كار شما از پايه ايراد داره


onchange="var CID = this.value"

تمام و اصلا نياز به تابع بازگشتي نيست . احتمال بروز خطا و عدم محاسبه صحيح هم كمتره .



اطلاعات زير مجموعه ي شي انتخاب شده از پايگاه دريافت بشه و در كمبوباكس دوم نشان داده بشه.


اگه منظورتون از پايگاه ، همون پايگاه داده باشه تنها راه استفاده از Ajax

yasercomeng
چهارشنبه 20 شهریور 1387, 14:39 عصر
خب من زياد AJAX كار نكردم.نميدونم چه جوري بايد اين كار انجام بشه. اگه ميشه يه مثال كوچولو بزنين من بقيه شو مي رم دنبالش مي فهمم.