Mam formularz do wypełnienia aby dodawać podzespoły komputerowe do zestawów, listy rozwijane budowane są na podstawie danych z bazy. W bazie mam między innymi tabele: zestawy, użytkownicy i dostawcy. W formularzu gdy dodaję nowy podzespół te trzy wartości wybieram z listy.
W momencie definiowania nowego zestawy, wypełniam tam te trzy pola, a chciałbym mieć taką funckjolaność, że po wprowadzenie sobie nowego zestawu (czyli znam już jego uzytkownika, dostawce), wprowadzam sobie nopwy podzespół. Czyli do tej pory wybierałem dla niego zestaw docelowy, użytkownika i dostawcę (a to przecież już raz wypełniałem, przy dodawaniu zestawu). Listy te i tak są budowane za bazy tak jak pisałem, ale chciałbym aby właściwości "selected" dla pól dostawca i użytkownik mi się zmieniały w zależności od zestawu który wybiorę z listy.
Napisałem coś takiego, ale nie aktualizuje mi list.
Kod
function $(id) {
return document.getElementById(id);
}
function aktualizuj() {
var dostawca=$("dostawca").value;
var uzytkownik=$("uzytkownik").value;
var zestaw=$("zestaw").value;
var zapytanie = "aktualizuj.php?dostawca="+dostawca+"&uzytkownik="+uzytkownik+"&zestaw="+zestaw;
advAJAX.get({
url : zapytanie,
onSuccess : function(obj) {
document.getElementById("dostawca").value=obj.responseText;
document.getElementById("uzytkownik").value=obj.responseText;
},
onLoading : function(obj) {
document.getElementById("dostawca").value="Aktualizacja...";
document.getElementById("uzytkownik").value="Aktualizacja...";
}
});
}
return document.getElementById(id);
}
function aktualizuj() {
var dostawca=$("dostawca").value;
var uzytkownik=$("uzytkownik").value;
var zestaw=$("zestaw").value;
var zapytanie = "aktualizuj.php?dostawca="+dostawca+"&uzytkownik="+uzytkownik+"&zestaw="+zestaw;
advAJAX.get({
url : zapytanie,
onSuccess : function(obj) {
document.getElementById("dostawca").value=obj.responseText;
document.getElementById("uzytkownik").value=obj.responseText;
},
onLoading : function(obj) {
document.getElementById("dostawca").value="Aktualizacja...";
document.getElementById("uzytkownik").value="Aktualizacja...";
}
});
}
Poza tym nie bardzo rozumiem sposób przekazania w tym momencie danych w dwa miejsca, jeśli przekazuję do jednego to mogę to zrobić np za pomocą zwykłego echo(), ale jak zrobić jeśli chcę przekazać do dwóch różne dane? Przykład niżej:
<?php $uzytkownik=$_GET['uzytkownik']; $zestaw=$_GET['zestaw']; $dostawca=$_GET['dostawca']; require('./polacz_z_baza.php'); //ustanawiam polączenie z baza danych $zapytanie = "SELECT * FROM zestawy WHERE id_zestawu='$zestaw'"; $id_zestawu = $rekord[0]; $dostawca = $rekord[1]; $uzytkownik=$rekord[11]; echo $dostawca; //zwraca identyfikator, który chcę ustawić jako selected w liście zwracającej wszy
stkich dostawców echo $uzytkownik; //zwraca identyfikator, który chcę ustawić jako selected w liście zwracającej wszy
stkich użytkowników // jak przekazać $dostawca do listy dostawców, a $użytkownik do listy użytkowników? ?>