Page 1 of 3

[Opgelost] Aftellen hoe vaak een formulier is ingevuld

Posted: Sat Apr 03, 2010 10:52 pm
by voorhammr
Hallo, ik ben bezig met een aanmeldformulier voor een activiteit. Er zijn 12 plaatsen te vergeven. Zou het mogelijk zijn om op de pagina een teller weer te geven, die wanneer het formulier is verzonden iedere keer eentje eraf haalt?

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Sun Apr 04, 2010 7:54 pm
by voorhammr
Iemand een idee?

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Sun Apr 04, 2010 8:18 pm
by janvl
Hallo,

Dat moet je met PHP programmeren en met behulp van user defined tags in je formulier sluizen.

Veel plezier.

Jan

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Sat Apr 24, 2010 8:35 pm
by voorhammr
Ik heb geen idee hoe ik dit zou moeten doen, iemand anders een script of een idee?

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Sun Apr 25, 2010 11:08 am
by deactivated010521
----------

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Sun Apr 25, 2010 4:25 pm
by voorhammr
Bedankt voor het commentaar. Je hebt inderdaad gelijk.

Ik heb zelf nog weinig geprobeerd, want ik ben niet zo een programmeur.
Wat ik wel heb gedaan is met Formbuilder een inschrijfformulier gemaakt. Hierop vullen deelnemers hun info in (zie ook bijgevoegde XML).
Daarbij heb ik via formbrowser een browse aangemaakt. Dit gebruik ik enkel voor export.
Omdat dit werkte dacht ik van, dan moet er een mogelijkheid zijn om een Count te doen op het aantal inschrijvingen. Deze count aftellen van 12 dan kan je op de pagina waar ook het inschrijfformulier staat, tonen hoeveel plaatsen er nog te vergeven zijn. Nu is enkel de vraag of dit mogelijk is en zo ja is dit simpel te bewerkstelligen?

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Mon Apr 26, 2010 6:28 am
by deactivated010521
----------

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Mon Apr 26, 2010 7:41 am
by voorhammr
Hierbij de XML file. Kan jij mij dan stapsgewijs aangeven wat ik waar zou moeten doen?

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Wed Apr 28, 2010 8:40 pm
by deactivated010521
----------

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Thu Apr 29, 2010 6:27 am
by voorhammr
Het leek allemaal soepeltjes te gaan enkel wordt het formulier niet meer verzonden.
Ik denk dat het ligt aan de plaatsing van dat stukje in het sjabloon. 1 keer verzond hij helemaal niet meer. De tweede keer na verplaatsing kreeg ik na verzending de tekst dat de Inschrijving gesloten is.

Nu is mijn vraag moest het stukje:
-------------------------------------------------------------------------------------
current_counter: {$current_counter}

{if $current_counter {$prev}{$submit}
{else}
De inschrijving is gesloten
{* submit button weggehaald, of doe iets anders *}
{/if}
----------------------------------------------------------------------------------
Wel in hetformuliersjabloon? Zo ja waar dan ongeveer? Tevens denk ik dat de {if $current_counter <= 0} verkeerd is. Hi jzou wanneer hij groter is dan 0 de inschrijving moeten openen en niet als hij kleiner is dan, toch?

Nog suggesties?

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Thu Apr 29, 2010 7:37 am
by deactivated010521
----------

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Thu Apr 29, 2010 8:02 am
by voorhammr
Helaas ik heb het geprobeerd. Maar bij het verzenden van het formulier komt de tekst "De inschrijving is gesloten" naar voren en wordt het formulier niet verzonden.
http://www.sbfeest.nl/index.php/activit ... spelen2010

Nog suggesties? Plaats ik het soms verkeerd in het formuliersjabloon(de plek waar het staat?)

{* DEFAULT FORM LAYOUT / pure CSS *}
{literal}

function fbht(htid)
{
var fbhtc=document.getElementById(htid);
if (fbhtc)
{
if (fbhtc.style.display == 'none')
{
fbhtc.style.display = 'inline';
}
else
{
fbhtc.style.display = 'none';
}
}
}

{/literal}
current_counter: {$current_counter}
{if $current_counter {$prev}{$submit}
{/if}
{$fb_form_header}
{if $fb_form_done == 1}
{* This first section is for displaying submission errors *}
{if isset($fb_submission_error) && $fb_submission_error}
{$fb_submission_error}
{if isset($fb_show_submission_errors) && $fb_show_submission_errors}


{foreach from=$fb_submission_error_list item=thisErr}
{$thisErr}
{/foreach}


{/if}
{/if}
{else}
{* this section is for displaying the form *}
{* we start with validation errors *}

{if isset($fb_form_has_validation_errors) && $fb_form_has_validation_errors}


{foreach from=$fb_form_validation_errors item=thisErr}
{$thisErr}
{/foreach}


{/if}
{if isset($captcha_error) && $captcha_error}
{$captcha_error}
{/if}

{* and now the form itself *}
{$fb_form_start}
{$fb_hidden}

{if $total_pages gt 1}{$title_page_x_of_y}{/if}
{foreach from=$fields item=entry}
{if $entry->display == 1}
{strip}
{if $entry->needs_div == 1}
required == 1 || $entry->css_class != '' || $entry->valid == 0} class="
{if $entry->required == 1}required{/if}
{if $entry->css_class != ''} {$entry->css_class}{/if}
{if $entry->valid == 0} fb_invalid{/if}
"
{/if}
>
{/if}
{if $entry->hide_name == 0}
multiple_parts != 1} for="{$entry->input_id}"{/if}>{$entry->name}
{if $entry->required_symbol != ''}
{$entry->required_symbol}
{/if}

{/if}
{if $entry->multiple_parts == 1}
{section name=numloop loop=$entry->input}
{if $entry->label_parts == 1}
{$entry->input[numloop]->input} {$entry->input[numloop]->name}
{else}
{$entry->input[numloop]->input}
{/if}
{if isset($entry->input[numloop]->op) && $entry->input[numloop]->op}{$entry->input[numloop]->op}{/if}
{/section}
{else}
{if $entry->smarty_eval == '1'}{eval var=$entry->input}{else}{$entry->input}{/if}
{/if}
{if $entry->helptext != ''} field_helptext_id}')">
field_helptext_id}" style="display:none">{$entry->helptext}{/if}
{if $entry->valid == 0} <--- {$entry->error}{/if}
{if $entry->needs_div == 1}

{/if}
{/strip}
{/if}
{/foreach}
{if $has_captcha == 1}
{$graphic_captcha}{$title_captcha}
{$input_captcha}
{/if}
{$prev}{$submit}

{$fb_form_end}
{/if}
{$fb_form_footer}

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Thu Apr 29, 2010 11:13 am
by deactivated010521
----------

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Thu Apr 29, 2010 12:20 pm
by voorhammr
arnoud wrote: Bij het testen van je formulier leek het erop alsof de form wel verstuurd wordt, echter de counter wordt niet met 1 verlaagd. Dubbel check veldnaam 'counter' form_id etc....

Illustratief heb ik een voorbeeld gegeven waarin je de submit button niet meer laat zien wanneer het aantal inschrijvingen het maximum bereikt heeft.

De submit button staat helemaal onderaan net boven $fb_form_end

Code: Select all

<h1>current_counter: {$current_counter}</h1> 

{if $current_counter >= 1}
	we mogen nog toevoegen:
	<div class="submit">{$prev}{$submit}</div>
{else}
	we mogen niet meer toevoegen, haal submit button weg:
	<div class="submit">{$prev}{$submit}</div>
{/if}	

Arnoud ik had alles al weer terug gezet, want zo kan niemand zich aanmelden.
Ik heb zojuist alles weer geprobeerd, maar het werkt nog steeds niet het formulier wordt niet verzonden.
Zoals ik het nu kan zien gaat er iets verkeerd tijdens de validatie bij de update_counter.....

Wat ik even zal doen is het formulier kopieren en dan een test form maken, zodat echte aanmelders geen last hebben.

Re: Aftellen hoe vaak een formulier is ingevuld

Posted: Thu Apr 29, 2010 12:31 pm
by Rolf
Voorhammr

Het is al even geleden dat ik dit heb gebruikt en of je er wat aan hebt weet ik niet, maar wellicht bied het (na enig uitproberen) toch een oplossing. Heb zelf op het moment even geen tijd om het uitwerken.
Heb het gebruikt om het aantal aanmeldingen in FormBuilder/FormBrowser op de website te tonen.

UDT -> count_entries

Code: Select all

global $gCms;

$list = $gCms->smarty->get_template_vars('list');
$gCms->smarty->assign('count', count($list));
{count_entries} {$count} toont het aantal entries in FormBrowser.

Je zou dus een vergelijking kunnen maken tussen $count en 12

Wellicht kun jij (jullie) er iets mee.

Grt. Rolf