Über Dekoratoren gestaltetes Kontaktformular

05. Aug 2010

Anwendungsbeispiel: Gestaltetes Kontaktformular, bei dem die Elemente individuell platziert und die Styleangaben direkt an die Elemente übergeben wurden

Formular

Beispiel

Gestaltetes Beispielformular

Quelltext

<?php

//$formular = new wForm();<br>
$formular = new wForm(array('decorators' => array(
'form' => '<dl class="form">')));

$formular->addElement('input''name''Name*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie einen Namen an'))));
$formular->addElement('input''street''Strasse*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Strasse an'))));
$formular->addElement('input''streetNumber''Hausnr.*', array('attributes' => array('class' => 'XS'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Hausnummer an'))));
$formular->addElement('input''zip''PLZ*', array('attributes' => array('class' => 'XS'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine gültige Postleitzahl an'))));
$formular->addElement('input''town''Stadt*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Stadt an'))));
$formular->addElement('input''email''E-Mail*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'email''errorMessage' => 'Bitte geben Sie eine gültige E-Mail Adresse an'))));
$formular->addElement('select''type''Typ*', array('attributes' => array('class' => 'L'), 'options' => array('' => 'Bitte wählen Sie Ihren Status aus''customer' => 'Kunde''prospect' => 'Interessent'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte wählen Sie Ihren Status aus.'))));
$formular->addElement('submit''submit''Absenden');

$formular->addEventServer('onSubmit''
  $this->setFormData(wRequest::getParameters());
  if($this->validate()){ 
    $this->initFormData();
    $this->setStatus("sent");
    wResponse::redirect($this->url);
  }
  else{
    $this->setStatus("failed");  
    wResponse::redirect($this->url);
  }
'
);

if(
$formular->getStatus() == 'sent'){
  print 
'<div style="padding:8px;background-color:#ffffff;border:solid 1px #666666">Vielen Dank für Ihre Anmeldung!</div>';
  
$formular->setStatus("");  
}
else{
  if(
$formular->getStatus() == 'failed'){
    
$formular->setStatus(""); 
  }
  
  
$formular->show();
}

?>

Ergebnis

Formular

Beispiel

Gestaltetes Beispielformular

Quelltext

<?php

//$formular = new wForm();<br>
$formular = new wForm(array('decorators' => array(
'form' => '<dl class="form">')));

$formular->addElement('input''name''Name*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie einen Namen an'))));
$formular->addElement('input''street''Strasse*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Strasse an'))));
$formular->addElement('input''streetNumber''Hausnr.*', array('attributes' => array('class' => 'XS'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Hausnummer an'))));
$formular->addElement('input''zip''PLZ*', array('attributes' => array('class' => 'XS'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine gültige Postleitzahl an'))));
$formular->addElement('input''town''Stadt*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Stadt an'))));
$formular->addElement('input''email''E-Mail*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'email''errorMessage' => 'Bitte geben Sie eine gültige E-Mail Adresse an'))));
$formular->addElement('select''type''Typ*', array('attributes' => array('class' => 'L'), 'options' => array('' => 'Bitte wählen Sie Ihren Status aus''customer' => 'Kunde''prospect' => 'Interessent'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte wählen Sie Ihren Status aus.'))));
$formular->addElement('submit''submit''Absenden');

$formular->addEventServer('onSubmit''
  $this->setFormData(wRequest::getParameters());
  if($this->validate()){ 
    $this->initFormData();
    $this->setStatus("sent");
    wResponse::redirect($this->url);
  }
  else{
    $this->setStatus("failed");  
    wResponse::redirect($this->url);
  }
'
);

if(
$formular->getStatus() == 'sent'){
  print 
'<div style="padding:8px;background-color:#ffffff;border:solid 1px #666666">Vielen Dank für Ihre Anmeldung!</div>';
  
$formular->setStatus("");  
}
else{
  if(
$formular->getStatus() == 'failed'){
    
$formular->setStatus(""); 
  }
  
  
$formular->show();
}

?>

Ergebnis

Formular

Beispiel

Gestaltetes Beispielformular

Quelltext

<?php

//$formular = new wForm();<br>
$formular = new wForm(array('decorators' => array(
'form' => '<dl class="form">')));

$formular->addElement('input''name''Name*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie einen Namen an'))));
$formular->addElement('input''street''Strasse*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Strasse an'))));
$formular->addElement('input''streetNumber''Hausnr.*', array('attributes' => array('class' => 'XS'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Hausnummer an'))));
$formular->addElement('input''zip''PLZ*', array('attributes' => array('class' => 'XS'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine gültige Postleitzahl an'))));
$formular->addElement('input''town''Stadt*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte geben Sie eine Stadt an'))));
$formular->addElement('input''email''E-Mail*', array('attributes' => array('class' => 'L'), 'validators' => array(array('type' => 'email''errorMessage' => 'Bitte geben Sie eine gültige E-Mail Adresse an'))));
$formular->addElement('select''type''Typ*', array('attributes' => array('class' => 'L'), 'options' => array('' => 'Bitte wählen Sie Ihren Status aus''customer' => 'Kunde''prospect' => 'Interessent'), 'validators' => array(array('type' => 'required''errorMessage' => 'Bitte wählen Sie Ihren Status aus.'))));
$formular->addElement('submit''submit''Absenden');

$formular->addEventServer('onSubmit''
  $this->setFormData(wRequest::getParameters());
  if($this->validate()){ 
    $this->initFormData();
    $this->setStatus("sent");
    wResponse::redirect($this->url);
  }
  else{
    $this->setStatus("failed");  
    wResponse::redirect($this->url);
  }
'
);

if(
$formular->getStatus() == 'sent'){
  print 
'<div style="padding:8px;background-color:#ffffff;border:solid 1px #666666">Vielen Dank für Ihre Anmeldung!</div>';
  
$formular->setStatus("");  
}
else{
  if(
$formular->getStatus() == 'failed'){
    
$formular->setStatus(""); 
  }
  
  
$formular->show();
}

?>

Ergebnis

Ähnliche Seiten

Entwicklerbereich Weblication® CMS - © Scholl Communications AG