استفسار لتعديل كود بالاجاكس لاظهار قيمة معينة
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته هذي اول مشاركة لي في هذا الموقع الرائع وان شاء الله الاقي اجابة لاي استفسار عندكم عملت فورم تسجيل واستخدمت تقنية الاجاكس لكن واجهتني مشكلة بعرض البيانات تطبيق الاجاكس كان عند اختيار دولة معينة، بالخيار التالي تظهر المدن الخاصة بالدولة بشكل تلقائي هلا لما قمت باظهار العرض ظهر التصنيف بناء على 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> بانتظار ردوكم تحياااااااتي
3 إجابات
هل من اجابة على الاستفسار ؟
المشكلة تكمن هنا http.open('get', 'test.php?id='+ document.state.city.selectedIndex); selectedIndex هذا المتغير يقوم بجلب البيانات بناء على عنوان id انا اريد تغييره بأي متغير آخر لاظهار القيمة بناء على قيمة بالجدول بواسطة: Basil 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
المشكلة تكمن هنا
http.open('get', 'test.php?id='+ document.state.city.selectedIndex); selectedIndex هذا المتغير يقوم بجلب البيانات بناء على عنوان id انا اريد تغييره بأي متغير آخر لاظهار القيمة بناء على قيمة بالجدول بواسطة: Basil 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا لا افهم قصدك جيدا
بالنسبة لكود الجافا سكريبت انصحك باستعمال ايطار عمل مثل الجى كويرى حتى تتوافق مع جميع المتصفحات اما بالنسبة للطلب تحديدا مبدئيا القى نظرة على هذا المثال jQuery Related Selects
بواسطة: MacOS 2 من 2 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا انا الي بحاول اعمله هو مثال رقم Example 4 بالمثال الذي انت طرحته وما المشكلة فى استعمال الكود فى المثال الرابع؟ فهذا شرح للتطبيق يمكنك استعماله |
هل تقصد انك تريد فقط الاعتماد اسم المدينة بدلا من الرقم ام ماذا؟
16 / فبراير / 2012 الساعة 18:27