[jQuery] Met post een array doorgeven.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Max S

Max S

25/05/2009 16:30:00
Quote Anchor link
Hallo allemaal!

Op mijn website wil ik graag met ajax werken, nu heb ik een formulier op mijn website waarvan ik niet weet hoeveel velden het heeft, maar wel alle velden beginnen met veld_* (op de plek van de * komt dan een cijfer..).

Nu weet ik al hoe ik erachter moet komen hoeveel en welke velden op mijn pagina staan. Maar nu wil ik dit ook kunnen verzenden met POST (mbv jQuery).
Nu heb ik 1 probleem: ik heb 2 array's, in 1 array staan de namen van de velden en in de andere de inhoud van die velden.
Nu weet ik niet hoe ik dit via jQuery moet verzenden.

Dit is mijn code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<script src="../js/jquery.js" ></script>
<script language="javascript">
    function verzendFormulier()
    {
        var aantal = $("input[name^='veld_']").length;
        //$("input[name^='news']").val("news here!");
        alert(aantal);
        var velden = new Array();
        var inhoud = new Array();
        var i = 1;
        var y = 0;
        
        while(i <= aantal)
        {
            velden[y] = "veld_"+i;
            inhoud[y] = $("input[name='veld_"+i+"']").value;
            i++;
            y++;
        }
        
        var arrayAantal = velden.length;
        var a;
    
        $.post("../paginas/test.php", velden: ""+inhoud+"");
    }
</script>


Hopelijk kan iemand mij helpen!

Mvg,

Max

P.S.

Op de jQuery site heb ik al gezocht, ik kan helaas niets vinden.
Gelieve geen reacties van: Google oid, dat heb ik allemaal al geprobeerd maar helaas zonder resultaat!
 
PHP hulp

PHP hulp

08/07/2020 04:24:42
 
Karl Karl

Karl Karl

25/05/2009 16:39:00
Quote Anchor link
Ik gok dat je de while kan omschrijven naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
while(i <= aantal)
        {
            inhoud["veld_"+i] = $("input[name='veld_"+i+"']").value;
            i++;
        }

Niet getest. Dus kan een typo ofzo hebben.
 
Max S

Max S

25/05/2009 16:40:00
Quote Anchor link
ik heb al een while, waarbij ie de inhoud in een array zet, mijn vraag was alleen hoe ik zon array kan versturen, ik heb nu wat gevonden maar ik probeer het even te testen, ik kom er zo op terug!
 
Karl Karl

Karl Karl

25/05/2009 16:46:00
Quote Anchor link
En ik zeg dat je d'r geen onzin van moet maken.
En je hebt niet met je ogen gekeken: klik, voorbeeld 2 en drie.
Gewijzigd op 01/01/1970 01:00:00 door Karl Karl
 
Max S

Max S

25/05/2009 17:59:00
Quote Anchor link
Dat heb ik toch ook juist nodig..?
$.post?
Of bedoel je dat array gebeuren..? Volgens mij is dat niet van toepassing op wat ik nu wil..
Kan je alsjeblieft een voorbeeld geven..?
 
Pieter Jansen

Pieter Jansen

25/05/2009 18:14:00
Quote Anchor link
Je wil toch je velden versturen? Waarom moeilijk doen? Je kunt je velden afzonderlijk valideren, maar voor je ze opstuurt, kun je net zo goed meteen je hele form versturen. Dus niet alle losse veldjes apart.

en ik denk dat je $.ajax nodig gaat hebben. Hier kun je net even wat meer mee. En kun je ook via POST doen.

Succes ermee.
 
Max S

Max S

25/05/2009 18:21:00
Quote Anchor link
Owh, dom, natuurlijk, heel het form opsturen.
Ik ga even uitvogelen hoe dat moet! Bedankt!

Als iemand weet hoe je een heel formulier via ajax (mbv jQuery) verzend, ik zou het graag willen weten!

Edit: Ok, ik ben bezig geweest met $.ajax maar dan krijg ik hetzelfde probleem, dat ik ieder veld opzich moet versturen. Weet iemand hoe je een heel formulier in 1 klap verzend via Ajax?
Gewijzigd op 01/01/1970 01:00:00 door Max S
 
Pieter Jansen

Pieter Jansen

25/05/2009 19:04:00
Quote Anchor link
Zijn volgens mij genoeg tuts over te vinden. Maar nu is het ook niet zo moeilijk. Als je de documentatie van jQuery erbij pakt, zul je zien dat het eigenlijk vrij eenvoudig is.

Nu kan ik het ook niet uit m`n hoofd, maar met die documentatie erbij is het een fluitje van een cent.

En je hoeft niet elk veld opnieuw te versturen. Het is juist de bedoeling dat je alles in een keer verstuurt. Hierdoor krijg je minder server requests, en dat was uiteindelijk het doel van het hele ajax gebeuren.

Je moet gewoon je PHP formulier klaar hebben treouwens. Die kun je dan gewoon aanroepen via Ajax, dat is het hele idee. Wanneer je veldjes kloppen in JS, en het mag verzonden worden, roep je je validatie.php aan, en die doet de rest. En in dat formulier kun je al je veldjes nogmaals controleren.

Dit kan overigens ook recursief, net als met je JS. Maar DAT moet je zelf maar doen :)
 



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.