[JS]prototype

Pagina: 1
Acties:

  • Niakmo
  • Registratie: Juni 2001
  • Laatst online: 10-02-2024
Ik ben wat aan het spelen met prototype maar ik zit nu met een klein probleempje, wat volgens mij niet aan prototype ligt. ik probeer het volgende

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function deleteFolder(id,parent_id) {
    
    var url = '/include/deleteFolder.php';
    var pars = 'id='+id+'&parent_id='+parent_id;
    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: updateFolder});
    
}

function updateFolder(originalRequest) {
    
    id = originalRequest.responseText;
    var url = '/include/updateFolder.php';
    var pars = 'id='+id;
    var myAjax = new Ajax.Updater(('folder'+id), url, {method: 'get', parameters: pars});
}


Als ik bij het onComplete event een functie opgeef zitten er standaard 2 parameters aan. original request, en een JSON parameters. Nu zou graag nog een extra parameter richting updateFolder mee geven.

Nu kan deze in de responseText stoppen, maar dan moet ik een omweg maken richting het php bestand, de twee verschillende data gaan scheiden omdat je geen arrays kan mee geven.

het ideaalste zou zijn om aan mijn updateFolder extra parameters toe te voegen als bijv:

updateFolder(originalRequest, JSON, mijnPara1, mijnPara2)

Verwijderd

post dan even de relevante code, namelijk die van je Ajax.Updater object. Je kan toch de Updater constructor uitbreiden? (aangenomen dat je Request constructor gewoon het meegegeven object ook in een enkele property duwt)

[ Voor 8% gewijzigd door Verwijderd op 04-07-2007 06:49 ]


  • Fibbers
  • Registratie: Augustus 2004
  • Laatst online: 31-07-2021
Als ik je goed begrijp zorg je er in het php bestand voor dat de javascript-functie binnen onComplete dus die twee parameters meekrijgt.

Ik denk dat je dan binnen de deleteFolder-functie de laatste regel code zo moet veranderen:

JavaScript:
1
2
3
4
5
function deleteFolder(id,parent_id) {
    ...
    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: function(req, json) { updateFolder(req, json, param1, param2, ...); } });
    
} 


Daarna dus die updateFolder-functie aanpassen:
JavaScript:
1
2
3
function updateFolder(originalRequest, json, param1, param2, ...) {
...
} 


Denk dat dat moet werken. Overigens kun je binnen een functie met arguments.length (dacht ik) eventueel checken hoeveel parameters aan de functie zijn meegegeven.

  • Niakmo
  • Registratie: Juni 2001
  • Laatst online: 10-02-2024
Fibbers schreef op woensdag 04 juli 2007 @ 10:46:
Als ik je goed begrijp zorg je er in het php bestand voor dat de javascript-functie binnen onComplete dus die twee parameters meekrijgt.

Ik denk dat je dan binnen de deleteFolder-functie de laatste regel code zo moet veranderen:

JavaScript:
1
2
3
4
5
function deleteFolder(id,parent_id) {
    ...
    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: function(req, json) { updateFolder(req, json, param1, param2, ...); } });
    
} 


Daarna dus die updateFolder-functie aanpassen:
JavaScript:
1
2
3
function updateFolder(originalRequest, json, param1, param2, ...) {
...
} 


Denk dat dat moet werken. Overigens kun je binnen een functie met arguments.length (dacht ik) eventueel checken hoeveel parameters aan de functie zijn meegegeven.
dit is inderdaad een redelijk elegante optie, dankjewel