Mam taki problem mam sobie formularz, który działa w pętli i za każdym razem w pętli jest wywoływana dla jednego formularza lista substancji i do każdej substancji można dodać notatkę i wysłąć ją ajaxowo, problem w tym, że jak chcę dodać notakę do drugiego elementu do dodaje notakę zawsze do pierwszego elemetu w pętli.
print ("<form method=get id=formularz1></form>");
while ($wybierz_substancje2 = mysqli_fetch_array($wybierz_substancje) ) {
$i++;
//trochę tutaj powycinałem, żeby łątwiej było oceniać kod
print ("
<span>
<div align=center>Notatka</div>
</span>
<ul class=menu>
<l id=plik$i>
<span>
<div align=center>Notatka</div></span>
<ul><-- Tutaj jest ten formularz
<div align=center>
<textarea id=notatka cols=30 rows=5></textarea>
<input type=hidden value=$wybierz_substancje2[6] id=id_wpisu>
<br><input type = \"button\" value =\"Dodaj\"
onclick = \"getData3('zapisz_notatke.php',
'TargetDiv2')\" id=formularz1>
<br>
<div id=TargetDiv2></div>
</div>
</ul>
</l>
</ul>
<br>
");
}
Kod ajaxowy
function getData3 (dataSource, divID) {
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
var notatka = document.getElementById('notatka').value;
var id_wpisu = document.getElementById('id_wpisu').value;
XMLHttpRequestObject.open("GET", dataSource + "?notatka=" + notatka + "&id_wpisu=" + id_wpisu);
XMLHttpRequestObject.onreadystatechange = function ()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
Kod odpowiedzialny za wyświetlenie pola notatka
Tutaj w tym przypadku naciskamy napis notka i nam się pojawia pole textarea notatka.
$(function(){
$('.menu ul').hide();
$('#plik1 span').click(function(){
$('#plik1 ul').toggle();
});
});
$(function(){
$('.menu ul').hide();
$('#plik2 span').click(function(){
$('#plik2 ul').toggle();
});
});
CZyli tak to polega na tym, że jak np. będzie wpis 1 tomek 2 wpis marcin i w notatce dla tomka wpiszę np tomi to automatycznie to przypiszę też dla innych wpisów