Formulier met verschijnende vakjes

Ik moet een html-bestelformulier aan het maken voor een broodjeszaak. Op elke regel van het formulier staat een vakje voor het aantal, een uitklapmenu voor de broodsoort en een uitklapmenu voor het beleg.

Is het mogelijk om pas de volgende regel met opties te laten zien als de vorige is ingevuld? Dus dat je telkens maar 1 blanco regel hebt.

Zo ja, kan het in html+javascript of wordt het dan php? Iemand voorbeelden?

Alvast bedankt.

Ik zou voor een javascript oplossing gaan met een PHP backup-routine voor gebruikers die geen javascript hebben (bijvoorbeeld bedrijven waar javascript uitgeschakeld is en die toch broodjes willen bestellen).

PHP heeft namelijk een ‘roundtrip’ nodig, dus voor elke regel die ingevuld wordt, moet het formulier gesubmit worden en de server moet weer een nieuwe pagina sturen. Kan traag zijn als de verbinding even hapert.

Zoek eens op ‘forms and javascript’ op google om voorbeelden en tutorials te vinden.

Bedankt voor de tip.

Ik had al op google en diverse fora gekeken, echter met andere zoekwoorden.

dit lijkt er een beetje op, als je er wat verstand van hebt, dan kun je het zelf wel uitbreiden etc. http://www.quirksmode.org/dom/usableforms.html

[quote:ef166ce08c] Is het mogelijk om pas de volgende regel met opties te laten zien als de vorige is ingevuld? Dus dat je telkens maar 1 blanco regel hebt. [/quote:ef166ce08c] Ik zou dit clientside doen, dus met javascript. Het bezwaar dat mensen mogelijk javascript uit hebben staan zie ikzelf niet zo, zorg wel dat je via de <noscript></noscript> tags opvangt en waarschuwt als mensen javascript uit hebben staan... geen javascript, geen broodje... Ik heb geen weet van het percentage servers dat javascript uit heeft staan, maar ik denk dat het er weinig zijn. Iemand mening hierover?

Verbergen en tonen van gedeeltes van een formulier doe je het beste met combinatie javascript en css. Verschillende gedeeltes van je form dien je een verschillende id te geven (div id=“deel1” enz.).
Bij laden van de pagina kun je het beste een onload gebruiken, om een javascript functie op te roepen om de gedeeltes uit beeld te halen. Je gebruikt dan javascript om het css commando display:none; over de divs af te roepen.
Beter via javascript dan direct over css bij laden van de pagina, omdat als er geen javascript aanstaat, de velden gewoon zullen blijven staan… als je de display:none voor de div’s via de css doet (bij laden pagina) , en javascript niet aanstaat, zijn de velden weg maar komen ze niet weer terug want daarvoor is javascript nodig.
Maar let op, ergens in mijn geheugen heb ik de waarschuwing dat het nodig is eerst via css een block te declareren. Doe dat dan als display=“block” voor al je id-secties.
Hier een voorbeeld van een javascript functie die css gebruikt:

function displaydocentvragen(form){
if (form.Formulierinhoud_.selectedIndex==1)
{
document.getElementById(“docentsectie”).style.display=“none”;
}
else
{
document.getElementById(“docentsectie”).style.display=“block”;
}
}

Je kunt condities om een block te tonen of te verbergen bijv. koppelen aan het al dan niet ingevuld zijn van een veld. en de functies aanroepen bijv. na een onchange of onclick.

Er zijn ontwikkelaars die vinden dat elke client-side opvang, dus javascript, een server-side evenknie moet hebben, bijv. een extra validatie die altijd zal werken, en dan via php (of cgi/perl bijvoorbeeld).
Of je dat nu moet doen… maar wel denk ik altijd goed kijken naar wat het formulier doet zonder dat javascript is ingeschakeld. Mooiste is als het dan toch nog bruikbaar is.

[quote:50a78c41af="Harryk"]Ik heb geen weet van het percentage servers dat javascript uit heeft staan, maar ik denk dat het er weinig zijn. Iemand mening hierover? [/quote:50a78c41af]

Geen getallen, maar pasgeleden was ik bij een bedrijf waar ze standaard IE uitrollen over werkplekken zonder java, zonder javascript en zonder de mogelijkheid plug-ins te installeren (zoals Flash).

Was een groot bedrijf, en dat zou maar net de grootste klant van de broodjeszaak kunnen zijn :wink:

[quote:643da4947b="Harryk"]Ik heb geen weet van het percentage servers dat javascript uit heeft staan, maar ik denk dat het er weinig zijn. Iemand mening hierover?[/quote:643da4947b]

Waarom zou iemand willen browsen op een server? :stuck_out_tongue:
Javascript is client side. Het zit in de browser, dus werkt alleen als het ingeschakeld is door de gebruiker (of, in het geval van bedrijven, door de systeembeheerders). Als het uit staat heb je dus een probleempje. Vandaar dat je het ook nog op moet vangen met php of een andere server side taal.

[quote:204bfa0bc8] Waarom zou iemand willen browsen op een server? Javascript is client side. [/quote:204bfa0bc8] eh schrijffoutje, Je hebt natuurlijk gewoon gelijk.

Overigens daag ik iedereen uit een webwinkelsite, verkoopsite, commerce-site te vinden die NIET op javascript is gebaseerd, en ook buiten javascript om werkt.

www.amfphp.org ?

maar heeft wel een flash clientside nodig :s

louter op php ga je gewoon telkens een nieuwe page moeten laden…

Zoals al eerder gezegd, Javascript is goed voor de gebruiksvriendelijkheid, maar niet voor de veiligheid. Als je Javascript gebruikt, vang het dan ook nog een keer serverside op.