У меня возникли трудности с передачей правильной функции id обратно в AJAX.Я создаю генератор бюллетеней продукта, который позволяет добавлять элементы по их коду SKU (который работает отлично).Моя проблема заключается в том, что при нажатии на бюллетень предварительный просмотр этого бюллетеня загружается в div и показывает все продукты, связанные с этим бюллетенем.
Из этих результатов я пытаюсь добавить возможность удаления продукта избюллетеньПроблема в том, что значение, передаваемое обратно в AJAX, относится только к первому продукту.Он не будет отправлять значение, принадлежащее конкретному элементу, если это какой-либо другой элемент, кроме первого.
Это код (принадлежащий main.php), который загружается через AJAX в div и являетсяЗацикливается на каждом продукте, связанном с выбранным бюллетенем
echo "<form name='myDelForm'>
$news_gen_id<br>
<input type='hidden' id='delccode' value='".$news_gen_id."'>
<input type='hidden' id='deledit' value='".$edit."'>
<input type='button' onclick='ajaxDelCcode()' value='Delete' /><br></form>
</td>";
Код AJAX (на index.php, где также находится div, вызывающий файл main.php) - это
function ajaxDelCcode(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new
ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById("ajaxMain2");
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var deledit = document.getElementById("deledit").value;
var delccode = document.getElementById("delccode").value;
var queryString = "?delccode=" + delccode + "&deledit=" + deledit;
ajaxRequest.open("GET", "main.php" + queryString, true);
ajaxRequest.send(null);
}
//-->
</script>
В настоящее время, используя эти две части кода, я могу успешно удалить только первый продукт.Переменные delccode, по-видимому, не изменяются при зацикливании продуктов (хотя, когда я повторяю переменные во время цикла, он определенно изменяется на соответствующее значение ... он просто неправильно передает его обратно в AJAX.)
Я попытался взять код AJAX, поместить его в цикл продукта main.php и изменить имя функции во время каждого цикла (например, ajaxDelCcode $ news_gen_id ()), а также на саму кнопку, чтобы она вызывала AJAX.специфично для него.И это работает, если вы посещаете main.php напрямую ... но не из index.php после того, как main.php был вызван в div.
Я не могу понять, как передать правильное зацикленное значениеиз main.php в div, обратно к AJAX-коду на index.php
Может кто-нибудь помочь мне с этим?
Спасибо,
Дастин