input doorgeven aan jQuery

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Albert de Wit

Albert de Wit

19/02/2013 14:24:52
Quote Anchor link
Hallo,

Titel is wat onduidelijk, maar een betere kon ik even niet verzinnen.

Wat ik probeer te bereiken is het volgende:

Ik heb een formulier
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<form action="index.php" method="POST">
    Naam:<br>
    <input type="text" name="naam"><br>
    Leeftijd:<br>
    <input type="text" name="leeftijd">
<form>


Nu wil ik dit formulier versturen zonder dat de pagina opnieuw geladen word. (Zie hier). Frank gaf me toen een oplossing namelijk deze, maar nu wil ik hem zo hebben dat hij het formulier herkent en dus alles op basis van naam verstuurd. Dus als er een ander formulier in word geladen met bijvoorbeeld een input veld met de naam 'adres' dat jquery dan automatisch een $_POST variabele maakt die 'adres' heet. Is dit mogelijk? Ik denk het namelijk wel maar weet niet hoe ik dit moet aanpakken. Kan iemand mij helpen? Alvast heel erg bedankt!
Gewijzigd op 19/02/2013 14:27:02 door Albert de Wit
 
PHP hulp

PHP hulp

26/11/2024 02:55:15
 
Erwin H

Erwin H

19/02/2013 14:37:17
Quote Anchor link
Het grootste deel van wat Frank doet kan je gewoon zo laten. Het enige dat ik zou veranderen is de manier waarop de data uit het form wordt gelezen en wordt meegegeven aan de post call. Dit is wat Frank doet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
     var form = $( this ),
        naam = form.find( 'input[name="naam"]' ).val(),
        adres = form.find( 'input[name="adres"]' ).val(),
        woonplaats = form.find( 'input[name="woonplaats"]' ).val(),
        url = form.attr( 'action' );
  
    /* Verzend de data met jquery's post() */
    var posting = $.post( url, { naam: naam, adres: adres, woonplaats: woonplaats } );  

Dit is wat ik zou doen met wisselende gegevens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
     var form = $( this );
     var params = {};
     params.naam = form.find( 'input[name="naam"]' ).val();
     params.adres = form.find( 'input[name="adres"]' ).val();
     params.woonplaats = form.find( 'input[name="woonplaats"]' ).val();
     var url = form.attr( 'action' );
  
    /* Verzend de data met jquery's post() */
    var posting = $.post( url, params );  

Met een simpel if statement kan je dan na het aanmaken van params variabele de data daarin laten wisselen, bijvoorbeeld zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
     var form = $( this );
     var params = {};
     if (form.attr('name') == 'adres'){
         params.adres = form.find( 'input[name="adres"]' ).val();
     } else if (form.attr('name') == 'naam'){
         params.naam = form.find( 'input[name="naam"]' ).val();
     }
     url = form.attr( 'action' );
  
    /* Verzend de data met jquery's post() */
    var posting = $.post( url, params );  
 
Albert de Wit

Albert de Wit

19/02/2013 14:45:19
Quote Anchor link
Ik denk niet dat je begrijpt wat ik bedoel.

Ik probeer door een random formulier, alle input velden (input/select/textarea) de namen te krijgen. Dus niet statisch de namen in een jQuery bestand uitlezen maar dynamisch de namen genereren en samen met de values sturen.
 
Erwin H

Erwin H

19/02/2013 14:49:19
Quote Anchor link
Dan heb je 'serialize' nodig: http://api.jquery.com/serialize/
 
Albert de Wit

Albert de Wit

19/02/2013 14:51:03
Quote Anchor link
Bedankt Erwin, ik heb er even naar gekeken en voorzo ver ik zie is dit precies wat ik zoek! Heel erg bedankt!

Toevoeging op 19/02/2013 15:51:27:

Jolly dit werkt perfect! Bedankt Erwin!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.