Thorsten: PHP und XAJAX Framework Formular erweiterung

Beitrag lesen

Hallo,

wie wird denn das Formular 'neu aufgebaut'?

Was meinst du damit?

Ich schätze, das erweiterte Formular ist zunächst mit display:none; versteckt...?
Dann solltest Du dieses display:none; in dem Falle verwerfen, wenn ein Fehler vorliegt und der User Einzugsermächtigung ausgewählt hat, so dass es dann angezeigt werden kann...

Nein, die Erweiterung wird erst per ajax geladen, wenn die funktion ausgeführt wird. Also wenn jemand den Wert in der Checkbox ändert.

Ich hoffe, das hilft...sonst wäre es vll. noch interessant, was Du nach der Fehlerbehandlung machst (hab ich jetzt nicht gesehen) - die Formularseite neu aufrufen oder per xajax updaten?

Die Formular Seite wird includet und ausgegeben.

Die SELECT Box schaut so aus:

  
<?php  
   $db = new db($this->schema);  
   $zahlungsart = $db->getmatrix('SELECT zahlungsart, zahlungsart_id FROM zahlungsart');  
   echo "<select name='zahlungsart' id='input_select' onchange=\"xajax_onSelect(this.options[this.selectedIndex].value, 'select_output'); return false;\" >";  
  
   foreach ($zahlungsart AS $data)  
    {  
     if (isset($fehler))  
     {  
      if ($_POST["zahlungsart"] == $data["zahlungsart_id"])  
      {  
       $check = "selected='selected'";  
      }  
      else  
      {  
       $check ="";  
      }  
     }  
     echo "<option ";  
     if (isset($check))  
     {  
      echo $check;  
     }  
     echo " value='".$data["zahlungsart_id"]."'>".$data["zahlungsart"]."</option>";  
    }  
   echo "</select>";  
   ?>  

Die Formularerweiterung wird in einem DIV per XAJAX/AJAX nachgeladen.

An dieser Stelle übergebe ich die ID des Div`s also wo es angezeigt werden soll, und den Value.

  
echo "<select name='zahlungsart' id='input_select' onchange=\"xajax_onSelect(this.options[this.selectedIndex].value, 'select_output'); return false;\" >";  

Eigentlich würde es doch reichen wenn man es hinbekommt hier den Unterschied festzulegen.

Sprich die funktion on_select muss immer ausgeführt werden, wenn $fehler nicht leer ist, und wenn Einzugsermächtigung gewählt wurde.
So sollten dann Automatisch die weiteren Inputfelder angezeigt werden!

Leider weiß ich nicht wie ich das machen könnte.

MfG

Thorsten