[MooTools] Een form versturen met AJAX

Pagina: 1
Acties:

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 01-12 12:35
Op het moment ben ik helemaal into mootools omdat ik zelf natuurlijk nooit zo mooi een AJAX / effecten script kan maken als mootools.
Ik wil echter niet de standaard functie gebruiken om een ajax class aan te roepen, zoals in de handleiding aangeboden wordt, omdat ik dan voor elke form die anders heet een functie moet schrijven.

Zo heb ik de standaard AJAX functie

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$('start').addEvent('click', function(e) {
    e = new Event(e).stop();
 
    var url = "http://demos.mootools.net/demos/Ajax/lipsum.html";
 
    /**
     * The simple way for an Ajax request, use onRequest/onComplete/onFailure
     * to do add your own Ajax depended code.
     */
    new Ajax(url, {
        method: 'get',
        update: $('log')
    }).request();
});


al teruggebracht tot

JavaScript:
1
2
3
    function getPage(url) {
            new Ajax(url, {method: 'get', update: $('main') }).request();
    }


Dit wil ik ook doen om een form te versturen, maar op de een of andere manier krijg ik deze niet voor elkaar. Atm kom ik niet veel verder dan wat expirimenteren met


JavaScript:
1
2
3
    function submitForm(url) {
            new Ajax(url, {method: 'get', update: $('main') }).request();
    }


maar als ik de mootools docs pak zie ik niet hoe ik dit zo kan aanpassen dattie voor de page te retrieven, ook nog de inhoud van het form verstuurd via GET of POST.

Wie raad weet, graag.

There is no replacement for displacement!


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Stop uploading passwords to Github!


  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 01-12 12:35
Mja maar wat voor zin heeft mijn heel class dan? :X als ik het met 1 regeltje afkan?

[ Voor 24% gewijzigd door _eXistenZ_ op 01-06-2007 17:18 ]

There is no replacement for displacement!


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

_eXistenZ_ schreef op vrijdag 01 juni 2007 @ 17:17:
Mja maar wat voor zin heeft mijn heel class dan? :X als ik het met 1 regeltje afkan?
Dat vroeg ik me inderdaad ook af ;)

Verder kan je deze functionaliteit natuurlijk ook gewoon standaard toevoegen aan alle forms met een bepaalde classname d.m.v. de $$().each() ;)

[ Voor 23% gewijzigd door SchizoDuckie op 01-06-2007 17:31 ]

Stop uploading passwords to Github!


  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 01-12 12:35
Ok nice maar ik zal alsnog iets moeten om aan te geven in welke div ik wil outputten, dus dan moet ik alsnog een stukkie gebruiken van wat ik al had staan toch?

There is no replacement for displacement!


  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 01-12 12:35
Afbeeldingslocatie: http://data1.blog.de/blog/p/parametric/img/branskik.jpg

Weet iemand hoe de code zou moeten zijn om dit voor elkaar te krijgen?

Niet dat ik lui ben ofzo en er zelf geen tijd in wil steken maar
- het werkt dan wel en belangrijker:
- ik kan dan door die code leren hoe het wel zou moeten, en beter mootools begrijpen.

There is no replacement for displacement!


  • remcotolsma
  • Registratie: December 2005
  • Laatst online: 09-10 21:36
Je kunt zodra je een Ajax object aanmaakt in de options ook data meegeven. In de documentatie van MooTools staat het volgende:

data you can write parameters here. Can be a querystring, an object or a Form element.

JavaScript:
1
var myAjax = new Ajax(url, {method: 'get', data: $('id_van_formulier'), update: $('main')}).request();


Je zou dan bijvoorbeeld in elk formulier in het target attribute de id van het ouput element plaatsen.

JavaScript:
1
2
3
4
5
6
7
$ES('form').each(function(form) {
  var url = form.getProperty('action');
  var outputElement = form.getProperty('target');

  // add on submit event
    var myAjax = new Ajax(url, {method: 'get', data: form, update: outputElement}).request();
});
Pagina: 1