// check if the form is posted...
if( $form->isPosted() ) {
// catch the errors but let formhandler still display them
$errors = $form->catchErrors( true );
// walk each field (with an invalid value) and clear the data
foreach( $errors as $field => $err) {
$form->setValue($field, "", true);
}
}
// button to submit the form
$form->submitButton();
// set the handler
$form->onCorrect("doRun");
// display the form
$form->flush();
// the data handler
function doRun( $data ) {
echo "Hello ". $data["name"];
}
Changed at 08 February 05 / 23:25
Ow, sorry, Ik was vergeten te vertellen dat er een kleine bug in setValue zat. Wanneer je het argument "overwriteCurrentValue" op true zette, dan werd de geposte waarde niet overschreven. Download de huidige versie van RC1 (hij is geupdate), vervang het betand class.FormHandler.php met de nieuwe en het zou moeten werken. Zo niet, zou je het dan ff willen posten?
Ik heb een formulier waar ik gewoon de 2 wachtwoorden met elkaar wil vergelijken. Dus zonder andere velden. Als ik dit doe zonder "$Form->TextField("Test", "test", "notempty");" die regel, wil hij dat niet controleren. Als ik wel zo een regel toe voeg wil dit wel werken.
Hoe kan ik dat oplossen?
[PHP]
<?php
$Form = new FormHandler("nieuwwachtwoordformulier");
$Form->setLanguage('nl');
$Form->TextField("Test", "test", "notempty"); //zonder dit werkt het niet
$Form->PassField("Paswoord *", "password", FH_PASSWORD);
$Form->PassField("Bevestig paswoord *", "re_password");
$Form->checkPassword("password", "re_password",false);
Sorry voor de late reply. Er zat een bug in checkpassword. Deze is verwijderd.
Dank u,
Sorry dat ik je soms stoor met mijn vragen, maar kan het zijn dat er soms nog foutjes in je formhandler zitten?
Ik denk dat er nog een probleem is met "setValue". Als ik nu verschillende checkbox'en wil selecteren kan dat volgens je handleiding met "1, 2, 4". Maar bij mij wil hij dat niet doen.
Of doe ik iets mis?
Sorry dat ik je soms stoor met mijn vragen, maar kan het zijn dat er soms nog foutjes in je formhandler zitten?
Ik denk dat er nog een probleem is met "setValue". Als ik nu verschillende checkbox'en wil selecteren kan dat volgens je handleiding met "1, 2, 4". Maar bij mij wil hij dat niet doen.
Of doe ik iets mis?
Tuurlijk kan het zijn dat er nog fouten inzitten. Hij is niet voor niks RC1 :-D
Zou je eerst de huidige versie eens willen proberen? Er zat namelijk een fout in setvalue.
Als dat niet wil, wil je dan je script eens posten?
Ik heb net de nieuwe erop geplaatst. Was het voldoende om enkel de class.formhandler.php te vervangen?
Ik heb gewoon eens getest met "$Form->setValue("niveau", "1, 2"); ". Maar wil niet werken.
[PHP]
<?php
$NiveauForm = array();
$Niveau = array();
$Niveau = array();
$result = mysql_query_count("SELECT id,naam FROM site_niveau ORDER BY niveau") or die (mysql_error());
while($row = mysql_fetch_array($result)){
$Niveau[$row['id']] = $row['naam'];
}
$result = mysql_query_count("SELECT naam FROM leden WHERE id='".$Id."'") or die (mysql_error());
$row = mysql_fetch_array($result);