Manu: PHP und XAJAX Framework Formular erweiterung

Beitrag lesen

Hallo,

nur kurz, da ich grad aufm Sprung bin.

Nur nebenbei: ich benutze Smarty, das macht solche Sachen wie das Vorbelegen in Formularen bspw. einfacher. Die Smarty-Variablen sind hier alle in geschwungenen Klammern und großgeschrieben (der Übersichtlichkeit halber habe ich auf Smartys html_options verzichtet).

Möglicherweise hilft Dir dieser Ansatz etwas :

html:

<form action="#" method="post">
 <div class="element">
  <select name="payment" onchange="xajax_showtype(this.value);">
  <option value="0" {if !$PAYMENT}selected="selected"{/if}>Bitte wählen...</option>
  <option value="1" {if $PAYMENT == 1}selected="selected"{/if}>Einzugsermächtigung</option>
  <option value="2" {if $PAYMENT == 2}selected="selected"{/if}>Barzahlung</option>
  </select>
 </div>
 <div class="element" id="extra" {if $PAYMENT != 1}style="display:none;"{/if}>
  <input type="text" name="username" value="{$USERNAME}" />
 </div>
 [usw...]
</form>

xajax:

function showtype($iValue) {
 $oResponse = new xajaxMyResponse();
 $sExtra = ($iValue == 1) ? '' : 'none';
 $oResponse->assign('extra','style.display',$sExtra);
 return $oResponse;
}

Sieht doch ganz einfach aus, nicht ;)

Bei einem hidden Div mußt Du allerdings davon ausgehen, dass die input-Felder mit übermittelt werden - was ja hier für den Fall eigentlich egal sein dürfte, Du hast ja den Wert aus 'payment', nach dem Du auswertest oder eben nicht...

Gruß,
Manu