waarden uit html-formulier verzamelen in div

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen van de lisdonk

jeroen van de lisdonk

28/04/2014 14:26:56
Quote Anchor link
Hallo,

Ik heb een html-formulier met select options. En mijn bedoeling is om de waarden van de verschillende opties te 'verzamelen' in een div op dezelfde pagina.

In mijn voorbeeld kan de gebruiker kiezen uit 6 opties (artikelnummers). En als de gebruiker een keuze maakt, zou dat artikelnummer moeten verschijnen in de div met id "keuzes". Maar als de gebruiker nog een ander artikelnummer kiest, na de eerste keuze, zou dat artikelnummer toegevoegd moeten worden aan de div (eigenlijk een soort shopping cart, maar dan vereenvoudigd in opzet). Het zou dus ook handig zijn om toegevoegde artikelnummers, eenvoudig weer uit de div te kunnen verwijderen.

Ik weet niet zeker of dit met Javascript/JQuery te doen is, of dat daarvoor juist PHP meer geschikt zou zijn.

Alle hulp wordt erg gewaardeerd want ik zit hier al een tijdje op te broeden maar kom weinig verder.

Groeten,
Jeroen

Mijn huidige code is:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
<head>
<title>Kies</title>

<style type="text/css">
#keuzes {    width:200px;
            height:300px;
            background-color:#CCC;
            border-color:#666;
            border-width:3px;
            border-style:dashed;
            color:#060;
            padding:10px;
            font-family:Verdana, Arial, sans-serif;
            font-size:12px;
            font-weight:bold;
            margin-top:50px;
            position:absolute;
            left:300px;
}
#keuzeKop {    width:200px;
            height:18px;
            background-color:#CCC;
            border-color:#060;
            border-width:3px;
            border-style:solid;
            color:#060;
            padding:10px;
            font-family:Verdana, Arial, sans-serif;
            font-size:12px;
            font-weight:bold;
            position:absolute;
            left:300px;
}
</style>
</head>

<body>
<form method="post">
    <select>
        <option value="" selected>Kies artikel</option>
        <option value="2176_82" style="cursor:pointer">2176_82</option>
        <option value="2224_56" style="cursor:pointer">2224_56</option>
        <option value="2265_42" style="cursor:pointer">2265_42</option>
        <option value="2265_54" style="cursor:pointer">2265_54</option>
        <option value="2278_74" style="cursor:pointer">2278_74</option>
    <option value="2292_78" style="cursor:pointer">2292_78</option>
    </select>
</form>
<div id="keuzeKop">Uw gemaakte keuzes:</div>
<div id="keuzes"></div>
</body>
</html>


- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Gewijzigd op 28/04/2014 15:19:06 door - Ariën -
 
PHP hulp

PHP hulp

27/11/2024 00:40:04
 
Donny Wie weet

Donny Wie weet

28/04/2014 14:38:29
Quote Anchor link
Kijk eens naar jQuery.

Ik zou zelf het volgende doen:

Wanneer een item aangeklikt word, een hidden input field maken. Elke keer als erop geklikt word de aangeklikte select eronder plaatsen. Let wel op de name="" van de hiddenfield. Je kan het dan eenvoudig uitlezen dmv een foreach in PHP. Even een simpel plain voorbeeld:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
<script>
    $(document).ready(function(){
        var option_field,
            hidden_field;
        $('#mijn_artikelen').click(function(){
            option_field = $(this).val();
            hidden_field = '<input type="hidden" value="'+ option_field +'" name="artikel_nummer[]">';
            $(hidden_field).appendTo('#mijn_lijst');

            $(this).remove(); //Deze functie verwijderd de huidige option die is aangeklikt.
        })
    });
</script>

<form method="post">
<select id="mijn_artikelen">
<option value="" selected>Kies artikel</option>
<option value="2176_82" style="cursor:pointer">2176_82</option>
<option value="2224_56" style="cursor:pointer">2224_56</option>
<option value="2265_42" style="cursor:pointer">2265_42</option>
<option value="2265_54" style="cursor:pointer">2265_54</option>
<option value="2278_74" style="cursor:pointer">2278_74</option>
<option value="2292_78" style="cursor:pointer">2292_78</option>
</select>


<div id="mijn_lijst">
    
</div>
</form>
<?php

if($_SERVER['request_method'] == 'post'){
    foreach($_POST['artikel_nummer'] AS $artikel){
        echo 'Dit is het artikel nummer: '.$artikel .'<hr />';
    }
}


?>
Gewijzigd op 28/04/2014 14:39:01 door Donny Wie weet
 
Obelix Idefix

Obelix Idefix

28/04/2014 14:39:26
Quote Anchor link
Jeroen van de lisdonk op 28/04/2014 14:26:56:
Ik weet niet zeker of dit met Javascript/JQuery te doen is, of dat daarvoor juist PHP meer geschikt zou zijn.

Beide?!
Jquery om de gegevens op te halen / te tonen in je div en php om gegevens op te halen uit de database.
 
Donny Wie weet

Donny Wie weet

28/04/2014 14:39:30
Quote Anchor link
Je zal trouwens hier en daar wel wat moeten debuggen denk ik. En even jQuery linkje eraan toevoegen
 
Jeroen van de lisdonk

jeroen van de lisdonk

28/04/2014 14:57:00
Quote Anchor link
Heren.

Bedankt voor jullie snelle reacties. Maar mijn voorbeeld heeft maar 6 opties voor het gemak. Echter dit zouden er ook bv 750 kunnen zijn. Dan wordt het met verborgen velden wel erg bewerkelijk.

Ik kwam een voorbeeld tegen van een simpele shopping cart (http://www.unibia.com/unibia/dev/examples/SuperSimpleShoppingCart/). Dat is wel een beetje wat ik zoek. Alleen dan op dezelfde pagina ipv switchen tussen 2.

Oh, en nog een belangrijk punt is, liefst geen database

Wederom dank,

Jeroen
 
Donny Wie weet

Donny Wie weet

28/04/2014 15:06:41
Quote Anchor link
Geen database? Hoe wil je dan 750 artikelen bewaren?
 
Jeroen van de lisdonk

jeroen van de lisdonk

28/04/2014 15:28:54
Quote Anchor link
Ik begrijp je reactie. Laat ik wat meer toelichten.

In heb nu een voorziening gemaakt, waarbij een gebruiker via een php-pagina, met thumbnails en checkboxen, een aantal artikelen kan aanvinken. Na het aanvinken van de gewenste artikelen en klikken op de submit-button, worden de jpg's naar een map op de webserver geupload.

Een ander php-script zorgt ervoor dat deze jpg's worden getoond in een soort digitale folder.

Dit werkte prima bij weinig artikelen. Maar nu moet ik iets soortgelijks werkend zien te krijgen voor 750 artikelen. En 750x een thumbnail met checkbox, is niet meer overzichtelijk voor een gebruiker.

Dus zocht ik nu naar een manier om wel met zoveel artikelen iets werkbaars te maken. Maar die eerdere voorziening werkt nu dus zonder een database. En ik kan slecht overzien of een database-toevoeging ook nog effect heeft op de rest van de gebruikte scripts.

Ik ben een beetje bang dat ik dan helemaal opnieuw moet beginnen met bouwen, ipv een klein deel vervangen
 
Donny Wie weet

Donny Wie weet

28/04/2014 15:41:51
Quote Anchor link
Een goede applicatie moet werken zoals het hoort en niet met een klein deel vervangen. Als je het goed wil laten werken zal je ook weleens een applicatie opnieuw moeten schrijven, je zal vast en zeker niet de eerste zijn.

En wil je voor 750 artikelen elke keer je HTML/PHP file openen?

Quote:
Na het aanvinken van de gewenste artikelen en klikken op de submit-button, worden de jpg's naar een map op de webserver geupload.


Komt erop neer dat je 2x een afbeelding naar de server wilt verplaatsen/kopieeren.

Quote:
Dit werkte prima bij weinig artikelen. Maar nu moet ik iets soortgelijks werkend zien te krijgen voor 750 artikelen. En 750x een thumbnail met checkbox, is niet meer overzichtelijk voor een gebruiker.

Ik raad je aan toch eens te kijken naar SQL. Denk dat meerdere mij daar geen ongelijk in geven. Nu ga je telkens een nieuwe map maken voor elke nieuwe gebruiker. En daarnaast: hoe wil je je gebruikers opslaan?

Toevoeging op 28/04/2014 15:42:47:

Even als toevoeging:

Nu een klein deel vervangen, later weer een klein deel moeten vervangen en zo blijf je doorgaan en word je code heel onoverzichtelijk. Als je iets doet, doe het dan gelijk goed. Of de eerste keer fout :P
 
Jeroen van de lisdonk

jeroen van de lisdonk

28/04/2014 15:46:58
Quote Anchor link
Ok. Tegen beter weten in, probeerde ik een easy fix. Maar je hebt gelijk hoor. Ik gooi alles overboord, en begin met een schone lei. Bedankt voor je input

Toevoeging op 28/04/2014 15:49:28:

Het is nu al een samengeraapt zootje aan scripts die ik wonderwel heb kunnen laten samenwerken, zonder al te veel php-kennis. En op deze manier wordt dat alleen maar erger. Ik ga maar een eenvoudig cms proberen in te richten voor wat ik nodig heb, denk ik
 
Donny Wie weet

Donny Wie weet

28/04/2014 15:51:48
Quote Anchor link
Wat is precies je bedoeling? Misschien dat iemand hier op het forum iets heeft liggen dat je mag gebruiken/kopen
 
Jeroen van de lisdonk

jeroen van de lisdonk

28/04/2014 16:08:50
Quote Anchor link
Ik heb een online voorziening nodig (inc login), waarbij een gebruiker, een selectie van bv 30 stuks kan maken uit bv totaal 750 jpg's.

Vervolgens moet de gebruiker ook nog de bestandsnaam van de jpg kunnen aanpassen en evt. verwijderen uit de gemaakte selectie.

En als laatste moet de selectie jpg's getoond worden in een bepaalde opmaak op een presentatie-pagina (soort digitale folder).

Toevoeging op 28/04/2014 16:12:17:

En op die presentatie-pagina, heb ik nu ook nog een reserveer-optie gemaakt en een uitvergrootfunctie voor de artikelen. Waarbij de bestandsnaam van de jpg, het onderschrift in de vergroting is.
 



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.