input doorgeven aan jQuery
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)
1
2
3
4
5
6
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>
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
Code (php)
1
2
3
4
5
6
7
8
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 } );
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)
1
2
3
4
5
6
7
8
9
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 );
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)
1
2
3
4
5
6
7
8
9
10
11
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 );
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 );
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.
Toevoeging op 19/02/2013 15:51:27:
Jolly dit werkt perfect! Bedankt Erwin!