Je hebt nog lege brackets nodig:
name="data[][school]"
Is een beetje hetzelfde als in PHP:
<?php
$array[] = 'een nieuw element aan de array';
?>
Link gekopieerd
B
Brecht S
20-09-2016 20:04
gewijzigd op 20-09-2016 20:05
Heb ik toegevoegd maar ik krijg nog steeds geen data door. Dus was ik op zoek naar een alternatief maar ook dat werkt niet:
<!-- Education -->
<div class="form with-line">
<h5>Studies</h5>
<div class="form-inside">
<!-- Add Education -->
<div class="form boxed box-to-clone education-box">
<a href="#" class="close-form remove-box button"><i class="fa fa-close"></i></a>
<input class="search-field" name="data[][school]" type="text" placeholder="Schoolnaam" value=""/>
<input class="search-field" name="data[][type]" type="text" placeholder="Type diploma bvb A2" value=""/>
<input class="search-field" name="data[][start]" type="text" placeholder="Startdatum" value=""/>
<input class="search-field" name="data[][einde]" type="text" placeholder="Einddatum" value=""/>
</div>
<a href="#" class="button gray add-education add-box"><i class="fa fa-plus-circle"></i> Studies toevoegen</a>
</div>
</div>
echo '<pre>';
print_r($_POST['data']);
echo '</pre>';
// alternatief
$mailData = '';
for($i = 0; $i < count($_POST['data']); $i++) {
$mailData .= '#' . $_POST['school'][$i] . ' | ';
$mailData .= $_POST['type'][$i] . ' | ';
$mailData .= $_POST['start'][$i] . "<br>\n";
echo $mailData;
Link gekopieerd
euh helemaal geen data? Hoe ziet je <form ... regel er uit?
Link gekopieerd
<form method="post"> gebruik ik om te testen nu. Later zal het form verstuurd worden via ajax.
Ik heb data op de eerste [school] maar wel op een volledig verkeerde manier.
resultaat:
Array
(
[0] => Array
(
[school] => piopiop
)
[1] => Array
(
[type] => oipiopoi
)
[2] => Array
(
[start] => poipiopiop
)
[3] => Array
(
[einde] => ppppppp
)
[4] => Array
(
[school] =>
)
[5] => Array
(
[type] =>
)
[6] => Array
(
[start] =>
)
[7] => Array
(
[einde] =>
)
)
Link gekopieerd
>> Als ik nu op de knop Studies toevoegen klik krijg ik daaronder nog zo een box, enz.
Komt die box dan wel tussen je bestaande <form> en </form> elementen ? Want anders is het logisch dat de data niet meegestuurd wordt
Link gekopieerd
B
Brecht S
20-09-2016 20:27
gewijzigd op 20-09-2016 20:30
Ja die komt er inderdaad tussen.
Hoe verander ik de array dat [0] de 4 velden (school, type, start, einde) heeft en daarna dan [1], [2], enz... ?
Toevoeging op 20/09/2016 20:29:43:
Nu zie ik dat die data dus wel meekomt. Waarschijnlijk een refresh foutje:
Array
(
[0] => Array
(
[school] => zeerzrze
)
[1] => Array
(
[type] => rzerzerr
)
[2] => Array
(
[start] => etretreytr
)
[3] => Array
(
[einde] => yttryutuytuytu
)
[4] => Array
(
[school] => piopiopio
)
[5] => Array
(
[type] => uiyiiy
)
[6] => Array
(
[start] => tyutyutyu
)
[7] => Array
(
[einde] => rtyrytry
)
[8] => Array
(
[school] =>
)
[9] => Array
(
[type] =>
)
[10] => Array
(
[start] =>
)
[11] => Array
(
[einde] =>
)
)
Dat zijn dus 2 van die forms.
Waarom is die laatste leeg?
Toevoeging op 20/09/2016 21:49:30:
Eigenlijk zou ik dit nodig hebben:
<!-- Education -->
<div class="form with-line">
<h5>Studies</h5>
<div class="form-inside">
<!-- Add Education -->
<div class="form boxed box-to-clone education-box">
<a href="#" class="close-form remove-box button"><i class="fa fa-close"></i></a>
<input class="search-field" name="data[0][school]" type="text" placeholder="Schoolnaam" value=""/>
<input class="search-field" name="data[0][type]" type="text" placeholder="Type diploma bvb A2" value=""/>
<input class="search-field" name="data[0][start]" type="text" placeholder="Startdatum" value=""/>
<input class="search-field" name="data[0][einde]" type="text" placeholder="Einddatum" value=""/>
</div>
<a href="#" class="button gray add-education add-box"><i class="fa fa-plus-circle"></i> Studies toevoegen</a>
</div>
</div>
Cloned form:
<!-- Education -->
<div class="form with-line">
<h5>Studies</h5>
<div class="form-inside">
<!-- Add Education -->
<div class="form boxed box-to-clone education-box">
<a href="#" class="close-form remove-box button"><i class="fa fa-close"></i></a>
<input class="search-field" name="data[1][school]" type="text" placeholder="Schoolnaam" value=""/>
<input class="search-field" name="data[1][type]" type="text" placeholder="Type diploma bvb A2" value=""/>
<input class="search-field" name="data[1][start]" type="text" placeholder="Startdatum" value=""/>
<input class="search-field" name="data[1][einde]" type="text" placeholder="Einddatum" value=""/>
</div>
<a href="#" class="button gray add-education add-box"><i class="fa fa-plus-circle"></i> Studies toevoegen</a>
</div>
</div>
Enz...
Ik denk dat mijn array dan wel goed komt. Maar ik zie niet hoe ik dit kan doen hier.
Hoe kan je die cijfers [0], [1], enz toewijzen aan een gecloonde gedeelte?
Link gekopieerd
Die cijfers toewijzen is niet nodig. Lege brackets zijn genoeg.
Kan ik je pagina ergens bekijken?
Link gekopieerd
B
Brecht S
20-09-2016 23:08
gewijzigd op 20-09-2016 23:14
Wat wil je juist zien op die pagina? Ik kan de code kopiƫren? Of anders je de link geven via pm?
Heb je de link via pm doorgestuurd.
Link gekopieerd
Frank, ik ben het toch niet helemaal met je eens.
Wanneer je eenduidige velden hebt, say "naam[]" e.d. dan heb je geen nummers nodig. Is je array multidimensionaal wel, anders krijg je dit:
naam[0][voornaam]
naam[1][achternaam]
etc etc.
Je kunt het uiteraard wel omdraaien, dan heb je dat probleem niet. De array krijgt dan alleen een wat vreemde vorm:
naam[voornaam][]
naam[achternaam][]
Dit leidt tot:
naam[voornaam][0]
naam[achternaam][0]
Zodra je dan opnieuw bij voornaam uitkomt nummert hij door zoals je zou willen.
Link gekopieerd
Dat probleem heb ik dus met data[0][voornaam] en data[1][achternaam] bvb
En ja de array is multidimensionaal zie voorbeeld die ik gepost heb.
Link gekopieerd