Napisałem kilka (może z 10) funkcji, które robią niemal to samo, różnią się tylko nagłówkiem i skryptem, do którego wysyłam dane z formularza za pomocą AJAX'u
Oto przykładowa funkcja:
Kod
function DodajNauczyciela(){
if (XMLHttpRequestObject){
var w = document.getElementById('n1');
var nazwisko = document.getElementById('nazwisko').value;
var imie = document.getElementById('imie').value;
var header="nazwisko="+nazwisko+"&imie="+imie;
XMLHttpRequestObject.open('POST','admintool/nauczyciel.php','true');
XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function (){
if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
w.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(header);
}
}
Chciałbym ją nieco zmodyfikować, aby była bardziej uniwersalna. Coś wyglądającego mniej więcej tak:
Kod
function UniwersalnaFukcja(naglowek,tabid,ilosc,cel){
if (XMLHttpRequestObject){
var w = document.getElementById('n1');
var header;
for(var i=0;i<ilosc;i++){
header+=naglowek[i];
header+=document.getElementById(tablicaid[i]).value;
}
XMLHttpRequestObject.open(cel,'true');
XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function (){
if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
w.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(header);
}
}
Problem mam z przygotowaniem w php tablic z danymi tak, żeby w JS zmienne naglowek i zmienną tablicaid traktowało jako tablicę, a nie jako String.
Poniżej zamieszcze jeszcze kod w jaki sposób wywołuję tę fukcję w skrypcie php.
$naglowek=array('nazwisko=', '&imie='); $tabid=array('nazwisko','imie');
echo "<input type=button onclick=\"UniwersalnaFunkcja(".$naglowek.",".$tabid.",2,'admintool/nauczyciel.php');\"";