لدي كود ajax واريد تعديله لكي استطيع استخدامه لاكثر من حقل ..
كود PHP:
function createRequestObject() {
var req;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert('Problem creating the XMLHttpRequest object');
}
return req;
}
var http = createRequestObject();
function sendRequest(string, value) {
http.open('get', 'ajax.php?'+string+'='+value);
http.onreadystatechange = handleResponse(string);
http.send(null);
}
function handleResponse(id) {
if (http.readyState == 4 && http.status == 200) {
var response = http.responseText;
if (response) {
document.getElementById(id).innerHTML = response;
}
}
}
هناك خلل في الكود السابق وبالتحديد في
كود PHP:
function sendRequest(string, value) {
كود PHP:
http.onreadystatechange = handleResponse(string);
كود PHP:
function handleResponse(id) {
كود PHP:
document.getElementById(id).innerHTML = response;
حيث انني اقوم بارسال القيم للدالة بالطريقة
كود PHP:
sendRequest('name', 'swalif')
تستقبل الدالة sendRequest المتغير string ومن ثم تقوم بارساله للدالة handleResponse ..
الان المشكلة في هذا السطر بالتحديد .. حيث انني لو قمت بـ
كود PHP:
http.onreadystatechange = handleResponse;
ستعمل بشكل صحيح .. لكن سيكون علي تحديد الـ id مسبقا بينما اريد تحديده عن طريق الدالة sendRequest وهي تقوم بارساله للدالة handleResponse آلياً ..
هل من حل لهذه المشكلة ؟