[PHP/jQuery] Form met dynamische velden

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Voor een declaratie formulier ben ik op zoek naar een goede manier om een X aantal dagen te laten declareren. Afhankelijk van het aantal dagen kun je velden toevoegen aan het formulier.

Ik zit met twee opties. De ene is makkelijker en wellicht beter, namelijk door het alleen met PHP te doen.

Door met fancy jQuery de velden toe te voegen is naar mijn idee de gebruikerservaring beter (geen pagina refresh bij het toevoegen van velden zoals met PHP) maar is het wel lastiger. Zo is het na het posten lastiger om bij een fout het form weer correct op te bouwen en de velden weer te vullen en weer te laten verwijderen of toevoegen. En als javascript uitstaat zit je met een waardeloos formulier. Optie zou dan zijn om een bericht hiervoor te tonen, maar dat verdient geen prijs naar mijn idee.

Mij lijkt de beste manier om dit met PHP te doen, wellicht heeft iemand nog een andere suggestie of is dit wel een goede manier?

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 17-07 11:21

TheNephilim

Wtfuzzle

1. JavaScript staat eigenlijk nooit uit, ik zou er in ieder geval geen rekening mee houden.
2. PHP ga je sowieso nodig hebben. Ajax is leuk aan de client kant, maar je hebt altijd PHP nodig om de data persistent te maken in een database.
3. Het gebruik van Ajax bied, als er goed over nagedacht is, zeker een betere gebruikers ervaring. Met zoiets als jQuery is het nog best makkelijk te implementeren ook.

Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 21:09

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Ik heb onlangs voor een declaratie die keuze gehad. Gekozen voor jquery om velden dynamisch toe te voegen. In mijn geval moet je ook kunnen wijzigen, waardoor ik ook aan liep tegen het extra werk om het form weer goed op te bouwen als een user wilt wijzigen na submit. Maar gebruiksvriendelijkheid staat voorop dus voor die optie gekozen. Javascript fallback maken is een keuze die jij zelf moet maken :)

[ Voor 4% gewijzigd door We Are Borg op 18-02-2013 17:55 ]


Acties:
  • 0 Henk 'm!

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Ik ben gegaan voor een oplossing zonder javascript. Ik gebruik Codeigniter als framework. Daarmee kun je redelijk makkelijk al je checks doen en de velden weer vullen bij fouten.

Aangezien een declaratie nooit hele bergen met dagen bevat is er voor een 5-tal vaste velden gekozen. Moet je meer declareren dan moet je het OF minder lang opsparen OF nog een aanvraag doen.

Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 21:09

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
'Goed' dat je de gekozen oplossing post. Waarom heb je gekozen voor deze optie? Nu moet een gebruiker meerdere declaraties doen omdat het niet in een keer kan (te weinig velden) en moet een manager ook meerdere declarties goedkeuren bijvoorbeeld :)

Acties:
  • 0 Henk 'm!

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Dat is niet helemaal mijn besluit. Het aantal velden staat nog ter discussie (of het er nou 5 of 20 zijn). Het gaat ook een stukje mentaliteit. Het opsparen van etc.

Gekozen voor deze oplossing omdat alles met javascript makkelijker maken 1 ding is, maar het ontbreken van javascript en vervolgens een nutteloze app hebben naar mijn idee erger is.

Het opbouwen van een formulier met dynamische velden is niet heel lastig maar het opnieuw vullen bij fouten en weer opbouwen (als je deze backend wil afhandelen) is een stuk complexer. Aangezien foutafhandeling met javascript alleen een slecht idee is heb ik voor de huidige oplossing gekozen.
Pagina: 1