FormCreator Class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen pure PHP code schrijven. Samenwerken met de klantreiziger om onze klanten

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

.NET Developer Azure

Dit ga je doen Het ontwerpen en bouwen van diverse applicaties (C#, ASP.NET, MVC); Het ontwikkelen van Webservices (WCF); Het meewerken aan de transitie naar Azure; Het samenwerken met collega's binnen een Scrumteam en meedenken over de User Stories; Het bouwen van unittesten; Meedenken over nieuwe tooling, ontwikkelingen en technologieën in de markt. Hier ga je werken Je komt te werken bij een organisatie die verantwoordelijk is voor de ontwikkeling van verschillende portalen. Deze portalen worden gebruikt door diverse partijen en jouw taak is om ervoor te zorgen dat deze optimaal functioneren. Je wordt onderdeel van een Scrumteam en werkt

Bekijk vacature »

Hands-on Solution Architect / Software Architect (

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

Lead C++ Developer

De rol van Lead C++ Developer Als Lead C++ developer bij KUBUS word je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de desktop applicaties van BIMcollab, ons platform voor 3D model-validatie en issue-management bedoeld om de kwaliteit van 3D design-modellen voor gebouwen te verbeteren. Betere 3D modellen leiden tot betere gebouwen, dus zo draag je bij aan verduurzaming van de gebouwde omgeving met slimmer gebruik van materialen, minder verspilling en energie-efficiënte gebouwen. Een goede gebruikerservaring staat bij ons hoog in het vaandel; we gaan in onze ontwikkeling voor innovatie en kwaliteit. In je rol als

Bekijk vacature »

Pagina: 1 2 volgende »

Jesper Diovo

Jesper Diovo

29/04/2009 17:07:00
Quote Anchor link
Beste allemaal,

Ik heb eindelijk mijn eerste (werkende!) class kunnen maken. Werd tijd :-P. Ben er dus ook super trots op, al stelt het voor de meesten van jullie natuurlijk weinig voor.

Ik wilde aan jullie vragen of jullie nog tips/verbeteringen/opmerkingen/aanmerkingen/commentaar/kritiekpuntjes hadden en of jullie zo vriendelijk willen zijn deze te melden. Al zal dat kritiek niet zo moeilijk zijn tegenwoordig, haha :-P.

(Geef overigens ook even je mening over de lay-out van mijn geweldige scriptlib, zelf via htaccess enzo gemaakt :-P.)

http://www.dzjemo.nl/phphulp/formcreator.php

Ik hoor het wel!

Jezpur
 
PHP hulp

PHP hulp

02/01/2025 20:53:22
 
GaMer B

GaMer B

29/04/2009 17:17:00
Quote Anchor link
Hmm, ik wil het niet afkraken, maar misschien klinkt het wel zo. Maar goed daar gaat ie:

* Ik zie HTML code in de class. Niet zo zeer de option en de verschillende form elementen, maar de table om alles netjes te krijgen. Laat dat aan de designer over. Tegenwoordig worden vooral divs, spans, labels en misschien ook wel lists gebruikt om een formulier te stylen.
* Extra attributen zoals style e.d. kunnen niet toegevoegd worden aan een form element. Het doel die je voor ogen had als zijnde flexibel formulier maker is eigenlijk verdwenen. Je zit vast aan de standaarden van de class, en daar moet je het mee doen. Wat als je een custom JavaScript script hebt, en je wilt een element aanspreken met de attribute 'rel'? Dat kan nu niet.

Desalniettemin heeft deze class ook voordelen voor de gemiddelde programmeur/designer. In één oogopslag is het formulier te zien en in een luttele seconden kan je een formulier samenstellen.

Ik hoop dat je er wat mee kunt.

EDIT: Ik ben erg gecharmeerd van het Prado framework. Daar hebben ze ook custom HTML formulier classes. Een voorbeeldje:

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
<com:TLabel
    ForControl="Username"
    Text="Username" /><br />
<com:TTextBox
    ID="Username"
    CssClass="text" /><br />
    <!-- En nog een aantal ingebouwde validator dingen -->
<com:TLabel
    ForControl="Password"
    Text="Password" /><br />
<com:TTextBox
    ID="Password"
    TextMode="Password"
    CssClass="text" />
    <!-- En nog een aantal ingebouwde validator dingen -->
<com:TLabel
    ForControl="Email"
    Text="Email Address" /><br />
<com:TTextBox
    ID="Email"
    CssClass="text" />
    <!-- En nog een aantal ingebouwde validator dingen -->

En dat wordt dan omgezet in valid (X)HTML, zodat de designer het af kan handelen met zoals je al een beetje ziet CSS styling.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Jesper Diovo

Jesper Diovo

29/04/2009 17:24:00
Quote Anchor link
Ja met die HTML code zat ik dus ook mee. Want als je zo'n formulier eenmaal hebt samengesteld, hoe wil je het dan nog opmaken? Dat kan men vooraf dan in de class aanpassen, maar dan is het doel om simpel een formulier samen te kunnen stellen ook gelijk verdwenen, inderdaad.

Ik zit misschien een beetje in de lucht te grijpen als je style attributen wil toevoegen, ik doelde meer op id="" enzo. Die style daar is meer een extra voorbeeldje. Je kunt net zo goed als extra iets met rel opgeven. Hoeft niet per se die id en style te zijn, dat was meer een voorbeeld.
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
GaMer B

GaMer B

29/04/2009 17:28:00
Quote Anchor link
Misschien is het een idee om wat classes door te kijken die al zo'n soort dingen doen. En een beetje ideeën opdoen. Eerlijk gezegd weet ik bij god niet hoe ze dat doen. Wat je WEL kan doen is zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$formulier
= new Formulier('test'); // name is dan test
$formulier->addElement('text', 'een value', $array(
    'attribute' => 'waarde',
    'attribute2' => 'waarde',
));[
/code]
(
Beetje afgekeken van Zend (dacht ik) :P
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Jesper Diovo

Jesper Diovo

29/04/2009 17:40:00
Quote Anchor link
Oh zo. Ja dat zou nog kunnen, ja. Hm. Maakt het wel al weer iets 'mooier'.

Kijkt u maar eens ;-).
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
TJVB tvb

TJVB tvb

29/04/2009 20:13:00
Quote Anchor link
Kijk anders eens naar Zend_Form, dat is een onderdeel van het Zend Framework waar ik wel gecharmeerd van ben.
 
Jesper Diovo

Jesper Diovo

29/04/2009 20:18:00
Quote Anchor link
Da's wel erg uitgebreid, hoor :-P. Zo ver was ik nou ook weer niet van plan te gaan, haha.
 
GaMer B

GaMer B

29/04/2009 20:24:00
Quote Anchor link
Is al beter. Ik hoop dat je ook de flexibiliteit "voelt" ? :P

Alleen het probleem van stylen nog oplossen. Die table moet er uit.
 
Jesper Diovo

Jesper Diovo

29/04/2009 20:30:00
Quote Anchor link
Klopt. Ik zat te denken om de velden en zo in een array terug te geven, zodat men zelf daaromheen kan bouwen. Maar dan zit je ook weer met de form-tag die dan alsnog zelf geschreven moet worden.

Bijv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$totaalplaatje
= array(
  array('tekst', '<input..../>'),
  array('tekst', '<select.....>'), // enz.
  array('', '<input type="submit"..../>')
);


foreach($totaalplaatje as $element) {
  list($tekst, $veld) = $element;

  echo '<label>'.$tekst.'</label>: '.$veld.'<br />';
}

?>


'k Heb nu maar iets gedaan, werk nooit met labels dus weet niet of dat goed is :-P.
 
GaMer B

GaMer B

29/04/2009 20:45:00
Quote Anchor link
Overigens wat ik me nu bedenk: Het genereren van een formulier is nog niet eens het meeste werk. Het valideren daarvan is echter wel vreselijk werk. Als je DAT erin kunt verwerken zou het nog beter zijn. Tip: Gebruik regels zoals:
$username->addValidator('required');
$username->addValidator('regex', '[\w]{3,50}');

Jouw concept dingetje is niet echt geweldig overigens. Dan leg je weer teveel werk bij de programmeur en niet zozeer bij de designer.

Nog een ideetje: Wat nou als je de wrapper variabel maakt? Dat je zoiets kun instellen:

$form->setWrapper(array('<table>', '</table>'));
$form->setWrapperRow(array('<tr>', '</tr>'));
$form->setWrapperColumn(array('<td>', '</td>'));

Misschien een ideetje.
 
Jesper Diovo

Jesper Diovo

29/04/2009 21:28:00
Quote Anchor link
Dat Wrapper is wel een goed plan op zich. Alleen, moet ik dan bij Column om beiden (tekst en veld) die twee tags zetten? Lijkt me namelijk niet :-P.

Klopt dat het eigenlijk niet echt geweldig is. Maar het gaat me meer om het OOP gedeelte en of de logica zo een beetje klopt. Ik vind OOP echt geweldig en als ik het zelf goed kan zou dat helemaal top zijn. Maar op dit moment ben ik alleen maar dingetjes aan het uitproberen.
 
Jelmer -

Jelmer -

29/04/2009 21:52:00
Quote Anchor link
Juist als je OOP zo geweldig vindt is het leuk om eens de richting op te gaan van Zend_Form: Voor ieder element een eigen class. Op die manier kan je logica die specifiek voor select of input[type=radio] is in hun eigen class houden, en kan je nieuwe (of hergebruikte, maar opnieuw opgemaakte) form-elementen toevoegen zonder classes te hoeven veranderen. Iets a la:

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
<?php
class Form
- addField(Field $field)
-
draw()

abstract class Field
- setValue()
-
setAttribute()
-
draw() (wordt aangeroepen door Form::draw)

class TextField extends Field
- setPlaceholder($text)
-
draw() (overschrijven, zodat je specifiek input[type=text] kan teruggeven)

$x = new Form;

$naam = new TextField('Voornaam');
$naam->setPlaceholder('Vul hier je voornaam in');

// dit kan je ook onderbrengen in de class zelf
if(isset($_POST['naam']))
    $naam->setValue($_POST['naam']);

$x->addField($naam);

$x->draw();
?>
 
Jesper Diovo

Jesper Diovo

29/04/2009 21:56:00
Quote Anchor link
Hm.. Ja, Zend is me wat. Heb het hele zooitje op m'n pc staan omdat ik Zend_Db gebruik bij een van m'n websites, daar ondersteunde men nog geen PDO.... Nja, dat terzijde: ik zal eens de documentatie van Zend_Form door gaan nemen, misschien dat ik dat dan voortaan wel ga gebruiken om een formulier te maken :-).
 
Jelmer -

Jelmer -

29/04/2009 22:00:00
Quote Anchor link
Naja, je hoeft niet specifiek Zend_Form te bekijken, je kan ook kijken naar FormHandler of een ander "groot" form-hulpje-script-ding-achtig-iets. Ik denk dat ze allemaal wel op zo'n soort manier met meerdere classes, en classes specifiek voor bepaalde elementen zullen werken.
 
Nicoow Unknown

Nicoow Unknown

29/04/2009 22:05:00
Quote Anchor link
Maar is het niet de hele bedoeling van OOP dat al je gegevens die je opslaat, een soort object word.
Dus je krijgt bijvoorbeeld een abstracte class met input o.i.d.
Die geef je bepaalde methodes en variablen mee, die voor iedere class verplicht zijn, en dan maak je dus allemaal overerfende classes voor een textfield enzo.
En dat je dan een class form heeft, waarmee je het hele form kan gaan bouwen.
(dus eigenlijk wat in Jelmer z'n voorbeeld code staat )
 
Klaasjan Boven

Klaasjan Boven

29/04/2009 23:14:00
Quote Anchor link
Ik mis het spannendste gedeelte namelijk het controleren van de gegevens en het wegschrijven naar DB of email
 
Mark PHP

Mark PHP

29/04/2009 23:58:00
Quote Anchor link
Wat verbeterpunten van je class:
- haal de echo uit outputForm(). Return gewoon het resultaat.
- probeer de velden op te bouwen door middel van DOM. Hierdoor is het makkelijk om attributen / waardes toe te voegen. Bovendien verkleint dit de kans op fouten én is het XHTML valid.

Ikzelf heb (naast een soortgelijke implementatie als Jelmer geeft) nog methodes addValidator en addFilter, die je op de velden kan loslaten. Als elke validator succesvol valideert is het formulier correct.
Je zou eventueel een onComplete methode kunnen toevoegen, die een actie (callback) doet als het formulier correct is (zoals het wegschrijven naar een DB).

Daarnaast, als je het helemaal doorvoert (MVC-achtig), is het wellicht logisch om een View object te retourneren als je draw() aanroept. Ikzelf twijfel nog hoe ik dat in mijn eigen formulierklasse kan / ga implementeren.

Een goede formulierklasse is ingewikkelder dan je denkt, maar ook een mooie uitdaging! Leesvoer.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Emmanuel Delay

Emmanuel Delay

30/04/2009 10:46:00
Quote Anchor link
Ik ben toevallig ook bezig aan een form class.
Ik probeer nu ook te zorgen dat ik events kan toevoegen (onClick, onChange, ...); dat, buiten de html van het formulier, ook een insert string wordt gebouwd met de juiste velden, met de $_POST ingewerkt; dat de juiste waarden in javascript worden gelezen en doorgegeven aan een functie die alles met Ajax opstuurt.

Het begint mooi te werken, maar er is nog een hoop werk aan.
 
Klaasjan Boven

Klaasjan Boven

30/04/2009 11:16:00
Quote Anchor link
als je het helemaal mooi wilt doen moet je de form kunnen bouwen aan de hand van de eigenschappen van de in een SQL statement gevraagde columns
 
Jesper Diovo

Jesper Diovo

30/04/2009 14:59:00
Quote Anchor link
Hm, ik denk dat ik hem nog wel ietsjes ga uitbouwen. In ieder geval een validatie er op :-).
 
Emmanuel Delay

Emmanuel Delay

30/04/2009 17:26:00
Quote Anchor link
Klaasjan Boven schreef op 30.04.2009 11:16:
als je het helemaal mooi wilt doen moet je de form kunnen bouwen aan de hand van de eigenschappen van de in een SQL statement gevraagde columns


Uhm, ik doe zo ongeveer het omgekeerde, maar je hebt wel een punt.

Met een sql dump, waar de CREATE TABLE op staat, moet dat wel lukken.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 

Pagina: 1 2 volgende »



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.