Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Mootools] Een form submitten met ajax

Pagina: 1
Acties:

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 28-11 01:05
Ik wil een form kunnen submitten door middel van een javascript call:

sendForm(<url>, <updatediv>, <formid>)

Waarbij url de url is waar de data heen moet, updatediv de div is die geupdate moet worden bij een succesvolle response, en formid de data bevat die gestuurd moet worden.

Het script ziet er zo uit:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function sendForm(url, updatediv, formid) {
    var options = {}
    $(formid).getFormElements().each(function(el){
        var name = el.name;
        var value = el.getValue();
        if (value === false || !name || el.disabled) {
            options[value] = false;
        } else {
            options[value] = true;
        }
    });
    new Json.Remote(url, {
        onComplete: function(jsonObj){
            if (jsonObj.redirect) {
                window.location=jsonObj.redirect;
            };
            if (jsonObj.html){
                $(updatediv).setHTML(jsonObj.html);
                return false;
            };
        },
        onFailure: function(){
            alert('Something went wrong');
        }
    }).send(options);
}


Deze komt (ongeveer) van de mootools site, en zou afaik moeten werken.

Nu komt aan de server enkel een geëncode JSON string aan, deze kan ik decoden maar dan nog blijft het een string waar ik overheen moet met regexes enzo. Ik wil gewoon 'echte' POST data kunnen sturen vanuit javascript, geen encoded JSON.

Wie weet hoe ik mijn javascriptje zo kan aanpassen dattie gewoon

code:
1
naam=henk,code=1234,bericht=hallo


als POST verstuurd ipv

code:
1
json={naam:henk,code:1234,bericht:hallo}

There is no replacement for displacement!


Verwijderd

Waarom gebruik je Json.Remote als je geen JSON wilt gebruiken, en waarom gebruik je dan geen Ajax.Form? Die demo doet volgens mij exact wat je wilt.

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 28-11 01:05
1) Omdat ik verschillende forms dynamisch laad via json, en dus alle forms via een functie moeten kunnen submitten, en dus de submit niet aan de submitknop gebind mag worden in het script zelf.

2) Omdat ik wel json terug wil krijgen en deze weer af wil handelen.

There is no replacement for displacement!