Ik heb onderstaande HTML:

			<!-- 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>


Als ik nu op de knop Studies toevoegen klik krijg ik daaronder nog zo een box, enz... Ik kan dus meerdere boxen op de pagina zetten.
Maar als ik nu het form wil posten doe ik dit:

	$result = $_POST['data'];
	
	echo '<pre>';
	print_r($result);
	echo '</pre>';


Het werkt helemaal niet. De waarden komen niet mee en ik krijg maar 1 array met enkel de eerste box.
Wat gaat er fout?
De array die ik terugkrijg is de volgende:

Array
(
    [studie] => Array
        (
            [school] => Array
                (
                    [0] => school2
                    [1] => school1
                    [2] => 
                )

            [type] => Array
                (
                    [0] => diploma2
                    [1] => diploma1
                    [2] => 
                )

            [start] => Array
                (
                    [0] => startdatum2
                    [1] => startdatum1
                    [2] => 
                )

            [einde] => Array
                (
                    [0] => einddatum2
                    [1] => einddatum1
                    [2] => 
                )

        )

    [submit] => Opslaan
)


Ik heb 2 blokken ingevuld om te proberen. Je ziet het resultaat met telkens de lege waarden en dat is altijd zo. Ook als je 1 blok of meerdere invult.
Met array_filter gaan toch alle lege waarden er weer uit? Of alle waarden met 0?
Of ben ik hier verkeerd? In elk geval werkt dat hierop.
en wat zie je dan als je de DOM inspecteert? Want dit geeft overduidelijk aan dat je meer elementen invoegt dan je laat zien.
Nu ben ik niet meer mee... Ik heb toch enkel maar mijn array staan van die studies en de knop opslaan?
Ja, maar je geeft aan dat je maar 2 velden post, terwijl er 3 in de array staan. En dat geeft aan dat je 3 elementen in je HTML hebt.
Ik heb maar 1 blok HTML code die ik al eerder heb gepost even terug en ik heb een bijhorende javascript die de blokken gaat clonen. Meer heb ik niet.
Ik vul 1 blok in en druk op de knop 'add-box' en ik krijg dezelfde blok opnieuw boven de eerder ingevulde in de HTML. Die vul ik ook in en dan druk ik op opslaan.
Meer heb ik niet gedaan. Of het nu 1 blok of meerdere blokken zijn speelt geen rol. Er is steeds een lege waarde.
Dit is ook het enige dat in de form staat, dus het kan niet van ergens anders komen...
Dat speelt wel degelijk een rol, en daarom zeg ik ook: pak de inspector erbij. Het probleem is niet dat je die lege velden aan de PHP zijde hebt, maar dat dat aan de HTML kant fout gaat. Je zit ergens een teveel aan elementen toe te voegen, zoveel is duidelijk.
Nu even te druk maar tegen het einde van de week zal ik eens kijken met de inspector of ik iets kan terugvinden. In de code zie ik het alleszins niet.

Reageren