Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 580
Hei

Jeg har satt opp en tabell på en webside som skriver ut data fra en sql spørring. For å få ut dataen har jeg satt dette i en for løkke.

Kan si at dette er et slags kvitteringssystem.

Hver linje vil se typisk slik ut:

ID - informasjon - "Kvitter ut"


"Kvitter ut" er en knapp. Når knappen benyttes sender jeg IDen til denne linjen via ajax som henter ut ny data som skal vises.

Problemet er at ajax funksjonen jeg nå bruker skriver data til et navngitt felt:

Kode

document.getElementById("result").innerHTML = str;
Altså feltet "result".
Siden jeg har skrevet ut radene i en for løkke trenger jeg da at hver linje en unik id. Jeg har satt denne til variabelen ID fra tabellen:

Kode

<div id='$ID'>
	<div onclick='xmlhttpPost(\"/myLink.php\", $ID;'>Kvitter ut</div>
</div>
Problemet er da at jeg skal få inn dette i ajax funksjonen.

Nå ser ajax funksjonen slik ut:

Kode

function xmlhttpPost(strURL, input_value) {
    var xmlHttpReq = false;
    var self = this;
   
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText);
        }
    }
    self.xmlHttpReq.send(getquerystring(input_value));
}

function getquerystring(input_value) { 
    qstr = 'w=' + escape(input_value);  // NOTE: no '?' before querystring
    return qstr;
}

function updatepage(str){
    document.getElementById("result").innerHTML = str;
}

Tenker jo at jeg kunne endret siste slik at det kunne blitt slik, men det virker ikke:

Kode

function updatepage(str){
    document.getElementById(input_value).innerHTML = str;
}
Er i jobb sammenheng så får desverre ikke lagt ut link.
Men er dette mulig å få til?
input_value er ikke i samme scope som xmlhttpPost.
Se her: http://jsfiddle.net/hSjxq/7/ (trykk run)
Hvis jeg har forstått det rett, så sliter du med id'ene? Jeg vile anbefalt deg å se på json, å brukt det slik at du sender sql dataen i json format til klienten, for så å loope den ut i en tanell.
Trådstarter
3 0
Løste dette ved å bruke følgende kode:

Kode

function getquerystring(input_value) { 
    qstr = 'w=' + escape(input_value);  // NOTE: no '?' before querystring
    field = input_value;
    return qstr;
}

function updatepage(str){
    document.getElementById(field).innerHTML = str;
}