PDA

Volledige versie bekijken : Componenten-data posten


Klapgeest
%Europe/Berlin %660 %2005, 16:50
Heb dit onderwerp al eerder gepost, en ook een voor mij gecompliceerd antwoord ontvangen, echter niets uitgeprint, en nu dus verloren gegaan. Vandaar nogmaals deze post:

Nu ongeveer 3 maanden bezig om dit voor elkaar te krijgen!!

Ik wil de standaard componenten gebruiken van MX2004Pro, om data van bezoekers binnen te krijgen via een formulier. Een tekstvak als inputvlak met een zelf ingegeven variabel werkt prima, echter met een component als bijv. de DateChooser krijg ik dit niet voor elkaar. Heb nu onderstaande code in mijn php, welke wordt aangeroepen door een verzend-button op mun site.

<?
// var date
$date = $_POST["date"];
?>

Het component heb ik aldus de naam "date" gegeven.
Nogmaals een input tekstvlak werkt prima met onderstande code in mun php.

adres: $adres
postcode: $postcode
woonplaats: $woonplaats
tel1: $tel1
tel2: $tel2
email: $email
merk: $merk

Ik vind de standaart componenten erg mooi en wil ze graag functioneel hebben in een formulier om data van bezoekers binnen te krijgen. Wie heeft hier ervaring mee??

Folkert
%Europe/Berlin %589 %2005, 15:08
Met de dateChooser bijvoorbeeld heb je een gecompliceerde component. Niet helemaal vergelijkbaar met een label of input.
Net als de meeste componenten heeft de datechooser ook een event 'change'
En gaat het erom, wat stop je erin (in geval van dateChooser stop je ranges met datums erin, of ranges met uitgesloten datums, of kan je bv in de kalendar (dateChooser dus) bepaalde dagen van de week aan of uit zetten. (je kan die functionalteit terugvinden in de help bij de component dictonary.)
Om data te versturen ga ik bij componenten (nu de datechooser) events gebruiken.
de 'change' event bv welke trickerd bij elke verandering bevat een EventObject. Standaard heeft die EventObject aanwezig een type en een target property. De type = in dit geval 'change' en de target is een referentie naar je component (het path zeg maar)
Je geselecteerde datum uit de kalendar kan je dus niet zomaar (ondanks dat je component date heet) pakken. die moet je halen voordat je hem gaat versturen.

function change(evtObject)
{
var deSelectedDate = evtObject.target.selectedDate;
trace("de component die je klikt is: "+evtObject.target);
trace("het type Event is: "+evtObject.type);
trace("de datum die geklikt is: "+deSelectedDate);
verstuurJeFormulier( deSelectedDate );
}
jouDateChooserInstance.addEventListener("change", this);