Вызовите функцию Ajax из PHP foreach с формой

У меня здесь небольшая проблема. Я хочу вызвать функцию Ajax из PHP foreach Loop. Вот мой код:

Ajax:

function ajaxFunction(){ 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 and will update // div section in the same page. ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ var ajaxDisplay = document.getElementById('ajaxDiv'); ajaxDisplay.innerHTML = ajaxRequest.responseText; } } // Now get the value from user and pass it to // server script. var bla = document.getElementById('bla').value; var queryString = "?bla=" + bla; ajaxRequest.open("GET", "ajax-example.php" + queryString, true); ajaxRequest.send(null); } 

И php-код:

 foreach ($data AS $key => $value){ <form name="myForm"> <input type="text" id="bla" name="bla" value="<?php echo $value['bla']; ?>"> <input type="button" onclick="ajaxFunction(<?php echo $value['id']; ?>)" value="Speichern"> </form> } 

Проблема: когда я нажимаю несколько кнопок, сгенерированных в цикле foreach, на выходе появляется только первый результат цикла foreach. Я думаю, что мне нужно передать индивидуальный идентификатор из цикла foreach (из базы данных) в функцию Ajax, но Я не знаю, как это сделать.

Может быть, вызвать функцию, как это? функция ajaxFunction (id)?!

Related of "Вызовите функцию Ajax из PHP foreach с формой"

Внутри цикла PHP foreach вы назначаете один и тот же идентификатор для каждого из ваших текстовых входов. Когда вы вызываете getElementById (), он всегда возвращает первый элемент с этим идентификатором в DOM, а переменной «bla» будет присвоен атрибут value этого первого элемента.

Похоже, вы пытались передать идентификатор в вызов ajaxFunction внутри атрибута onclick, поэтому, возможно, вы могли бы сделать следующее:

1) Поместите ту же самую эхо-инструкцию в атрибут id текстового ввода.

<input type="text" id="<?php echo $value['id']; ?>" name="bla" value="<?php echo $value['bla']; ?>">

2) Добавьте параметр в определение ajaxFunction.

function ajaxFunction(requestedID){

3) И передать эту переменную в вызов getElementById.

var bla = document.getElementById(requestedID).value;