لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
استفسار لتعديل كود بالاجاكس لاظهار قيمة معينة
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

هذي اول مشاركة لي في هذا الموقع الرائع وان شاء الله الاقي اجابة لاي استفسار عندكم

عملت فورم تسجيل واستخدمت تقنية الاجاكس لكن واجهتني مشكلة بعرض البيانات
تطبيق الاجاكس كان عند اختيار دولة معينة، بالخيار التالي تظهر المدن الخاصة بالدولة بشكل تلقائي

هلا لما قمت باظهار العرض ظهر التصنيف بناء على id

السؤال:
كيف يمكن تعديل هذا الكود بالاجاكس لجلب القيمة بناء على خيار ال city وليس على قيمة id
المقصود بخيار city هو القيمة الافتراضية التي اعطيتها لكل دولة داخل الجدول

مثلا
فلسطين pal ، السعودية ksa ، امريكا usa

ملف الاجاكس

var http = createRequestObject();
function createRequestObject(){
    var request_;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        request_ = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else{
        request_ = new XMLHttpRequest();
    }
    return request_;
}
function getInfo(){
    http.open('get', 'test.php?id='+ document.state.city.selectedIndex);
    http.onreadystatechange = handleInfo;
    http.send(null);
}
function handleInfo(){
    if(http.readyState == 1){
        document.getElementById('basil').innerHTML = 'جاري جلب البيانات...';
    }
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('basil').innerHTML = response;
    }
}  

ملف php
<?php 
$id=intval($_GET['id']); 
$dbhost="localhost"; 
$dbuser="root"; 
$dbpass=""; 
$database="state"; 
$link = @mysql_connect( $dbhost, $dbuser, $dbpass ); 
$db = @mysql_select_db( $database,$link ); 
$result = mysql_query("SELECT * FROM coun WHERE id='$id'"); 
echo "<select name=coun >";
while ( $row = mysql_fetch_array($result) ){ 
    echo "<option value='".$row['name']."'>".$row['name']."</option>"; 

} 

echo "</select>";
mysql_free_result($result); 
mysql_close($link); 
?>
ملف html
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>TEST test TeSt tEsT</title>
<script src="main.js"></script>
</head>

<body>
<center>
<form name="state">
<select name="city" onchange="getInfo()">
<option selected value="0">اختر بلدك</option>
<option value="pal">pal</option>
<option value="ksa">Ksa</option>
<option value="usa">usa</option>

</select>

</form>
<div id="basil"></div>
</center>
</body>


بانتظار ردوكم

تحياااااااتي
تاريخ البداية: 16 / فبراير / 2012 الساعة 18:16 اخر نشاط: 29 / فبراير / 2012 الساعة 20:58 اجاكس

هل تقصد انك تريد فقط الاعتماد اسم المدينة بدلا من الرقم ام ماذا؟
16 / فبراير / 2012 الساعة 18:27

3 إجابات
هل من اجابة على الاستفسار ؟

المشكلة تكمن هنا

http.open('get', 'test.php?id='+ document.state.city.selectedIndex);


selectedIndex هذا المتغير يقوم بجلب البيانات بناء على عنوان id
انا اريد تغييره بأي متغير آخر لاظهار القيمة بناء على قيمة بالجدول

بواسطة: Basil
منذ: 19 / فبراير / 2012 الساعة 9:4

المشكلة تكمن هنا

    http.open('get', 'test.php?id='+ document.state.city.selectedIndex);


selectedIndex هذا المتغير يقوم بجلب البيانات بناء على عنوان id
انا اريد تغييره بأي متغير آخر لاظهار القيمة بناء على قيمة بالجدول

بواسطة: Basil
منذ: 18 / فبراير / 2012 الساعة 7:47

لا افهم قصدك جيدا
29 / فبراير / 2012 الساعة 20:58

بالنسبة لكود الجافا سكريبت انصحك باستعمال ايطار عمل مثل الجى كويرى حتى تتوافق مع جميع المتصفحات اما بالنسبة للطلب تحديدا مبدئيا القى نظرة على هذا المثال jQuery Related Selects

بواسطة: MacOS
منذ: 16 / فبراير / 2012 الساعة 18:23

انا الي بحاول اعمله هو مثال رقم Example 4 بالمثال الذي انت طرحته
عندي قائمة باسماء الدول (فلسطين ،السعودية،مصر ...الخ)
وقائمة اسفل منها اسماء المدن ، مدن كل دولة
فلما بختار دولة معينة مثلا فلسطين مباشرة بالخيار الاسفل منه بتنعرض لي مدن فلسطين
حاولت اطبقه لكن حدثت معي مشكلة ما كان يعرض المدن عند اختيار الدولة
فابنتظار التعديل والتصحيح على الكود الذي وضعته لعرض المدن او ان كان هناك طريقة اخرى
16 / فبراير / 2012 الساعة 19:6

وما المشكلة فى استعمال الكود فى المثال الرابع؟ فهذا شرح للتطبيق يمكنك استعماله
17 / فبراير / 2012 الساعة 0:41

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة