[CakePHP] Ajaxhelper -> .value updaten i.p.v. .innerHTML?

Pagina: 1
Acties:

  • m33p
  • Registratie: September 2002
  • Laatst online: 27-10 23:58
Hoi!

Er zijn hier vast wel een aantal mensen bekend met CakePHP die mij kunnen helpen, want ik kan geen oplossing vinden.

CakePHP heeft een mooie helper om makkelijk met Ajax te kunnen werken, werkt ook wel leuk maar ik loop nu tegen een probleem. Zodra een select veranderd (ik gebruik een observer), gaat er een request de deur uit en dient een input bijgewerkt te worden.

De code:
PHP:
1
echo $ajax->observeField('InvoiceProductId', array('url' => '/invoices/getProductDetails', 'update' => 'InvoicePrice', 'frequency' => 1));


Alles werkt, zolang de input maar een div is. Blijkbaar update de helper alleen de innerHTML en is er niet de mogelijkheid om de value van een input aan te passen.

Weet hier iemand een manier om dit fixen? Google kan er helaas ook nog niets over vinden en de Ajax helper zit er volgens mij nog niet zo lang in als ik Google mag geloven. Alvast bedankt!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:27

crisp

Devver

Pixelated

Dat is het nadeel van een code-generator, je bent niet zo flexibel als wanneer je zelf de clientside code zou schrijven. Vanuit de documentatie van cakePHP kan ik verder ook geen alternatieven vinden.

Zo te zien gebruikt cakePHP prototype als clientside component, dus een optie zou zijn om daar zelf clientside code voor te schrijven.

Intentionally left blank


  • m33p
  • Registratie: September 2002
  • Laatst online: 27-10 23:58
Dit het ik nou ook gedaan (gewoon prototype syntax en javascript blokken) en dat werkt gewoon, maar de mooiste oplossing is het niet. Lelijk daarintegen ook niet. Binnenkort even omzetten naar een component voor CakePHP en dan moet het zo maar. Bedankt voor het opzoeken en de bevestiging.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:27

crisp

Devver

Pixelated

Het was netter geweest als de update method van prototype's Element class rekening zou houden met het type element en voor input en textarea niet de innerHTML zou setten maar het value attribuut - je zou dat wellicht als FR kunnen melden bij prototype :) (uiteraard zou je ook zelf die method kunnen overloaden ;))

[ Voor 10% gewijzigd door crisp op 25-06-2007 23:54 ]

Intentionally left blank