Selected Datepickter datum doorsturen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

C# Developer Research and Development - Delft

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Delft Vacature ID: 6307 Introductie C# Developer Research and Development - Delft - Onze klant is één van de meest innovatieve bedrijven in de region van Delft. Op dit moment zijn ze voor het innovatie centrum. In het innovatie centrum wordt gewerkt aan de nieuwste technieken voor navigatie software. R&D / C# / Pattern Recognition / Algorithms / 3d Data / DotNET Functieomschrijving Als C# Developer kom je te werken in een innovatief scrumteam. We ontwikkelen en door ontwikkelen de nieuwste technieken op het gebied van navigatie software. Deze software wordt onder andere

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

Pagina: 1 2 volgende »

Johnny Cash

Johnny Cash

01/05/2015 03:11:38
Quote Anchor link
Goedenavond,

Ik zit met een probleem en ben daarmee tot in de late uurtjes (03:10) bezig geweest.

Ik gebruik de bekende Datepicker om een datum te selecteren.
Deze werkt zoals het hoort.

Maar ik wil nu een extra functie bouwen die het volgende doet:
Wanneer er in de Datepicker de datum "zondag 3 mei 2015" wordt aangeklikt (zondag is normaal gesproken niet aanklikbaar) moet er een extra hidden formfield worden gegenereerd.

De bewuste zondag 3 mei 2015 maak ik beschikbaar via:
var openDates = [[05,03,2015]];

Voor alle overige dagen (maandag t/m zaterdag) wordt sowieso de aangeklikte datum doorgegeven aan:
$("input[name='eventdate']").val(dateText);

Nu wil ik dat er voor de gewenste zondag 3 mei 2015 een speciale input field hebben.
Dus wanneer deze datum wordt aangeklikt moet er een nieuwe <input type='hidden' name='specialsunday' /> worden aangemaakt met daarin de waarde value='1'.

Vervolgens wil ik via een AJAX post de waarde van het veld 'specialsunday' doorsturen naar een ander php script welke controleert of er een specialsunday (3 mei 2015) is aangeklikt. Zo ja dan wordt er een melding getoond op het scherm. Die melding kan bijvoorbeeld zijn "Let op voor zondag 3 mei 2015 betaald u een extra toeslag".

Hoe kan ik dit het eenvoudigst realiseren?
 
PHP hulp

PHP hulp

17/11/2024 08:56:51
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 11:49:07
Quote Anchor link
Ik zou geen hidden veld aanmaken omdat je hier het berekenen van extra toeslag niet van af wilt laten hangen. Stel dat ik via een browsertool dat hidden veld er weer uitfiets, dan zou dat niet tot gevolg moeten hebben dat de toeslag niet berekend wordt.

Vertrouw. Nooit. User. Input.

Je wilt te allen tijde de "controle" aan jouw zijde houden. Hierbij moet je ook zorgen dat je de code voor deze controle eenmalig schrijft. Vervolgens voer je deze check (waarbij je dus in beide gevallen refereert aan dit ene zelfde stuk code) op twee plaatsen uit:
- in de AJAX-call, (ENKEL) om een gebruiker hierover in te lichten
- in de verdere verwerking van je formulier, voor het daadwerkelijk verrekenen van een eventuele toeslag
 
Johnny Cash

Johnny Cash

01/05/2015 12:30:20
Quote Anchor link
Bedankt Thomas van den Heuvel,

Het is mij alleen nog niet helemaal duidelijk hoe ik dat met een correcte code kan bewerkstelligen...

Ik heb het volgende staan, wat werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
onSelect: function(dateText, inst) {
   $("input[name='eventdate']").val(dateText);
   $("#alternatedate").fadeIn();

   $.post( "/savedatum.php", { selecteddate:dateText } );
}


Hierin wordt wel de aangeklikte datum toegevoegd aan het formulierveld "eventdate" en deze wordt als uitgeschreven datum getoond in #alternatedate.
Ook wordt de geselecteerde datum via de post naar het savedatum.php script gestuurd (hierin wordt de datum toegevoegd in een database tabel).

Echter wat ik als resultaat wil hebben, is dat op de formulier pagina ook direct de extra toeslag wordt berekend. Dit doet hij nu niet omdat de waarde van het "eventdate" formulierveld niet op de formulierpagina via ajax kan doorsturen naar het script waarin het totaalbedrag wordt berekend.

Onderstaande stukje code stuurt waarden van het formulier door naar het berekentotaal script, hierin is .selecteddate de class binnen het "eventdate" formulierveld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function berekentotaal()
{
  $.post("/berekentotaal.php", $('#processform').serialize(), function(html)
  {
    $('#showtotaal').html(html);
  });
}
berekentotaal();
$('#processform  input[type="hidden"].selecteddate').change(function(){berekentotaal();});
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 13:23:54
Quote Anchor link
Quote:
Dit doet hij nu niet omdat de waarde van het "eventdate" formulierveld niet op de formulierpagina via ajax kan doorsturen naar het script waarin het totaalbedrag wordt berekend.

Dat zou wel de makkelijkste plaats zijn, je kunt dan de eerdergenoemde check ook uitvoeren in berekentotaal.php.

Waarom kun je deze waarde niet doorsturen? De eventdate is toch gewoon onderdeel van het formulier? Waarom lukt het versturen van de datum naar savedatum.php dan wel? Gaat het om meerdere datums, of slechts een?
 
Johnny Cash

Johnny Cash

01/05/2015 15:16:37
Quote Anchor link
Waarom de waarde niet goed wordt doorgestuurd vanuit de OnSelect van Datepicker is voor mij dus een raadsel.

De situatie meer specifiek is als volgt:

1. ik heb een pagina/script formulier.php, hierop staat de Datepicker om een datum te selecteren en dit werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
echo "<div id='datepicker' class='deDatepicker'></div>";
echo "<input type='hidden' name='eventdate' class='selecteddate' />";
echo "<input type='text' id='alternatedate' class='showselectedbezdate' readonly />";

echo "<div id='showtotaal'></div>";

in de tweede echo moet de datum worden toegevoegd die is aangeklikt (werkt niet!).
in de derde echo wordt de datum getoond die is aangeklikt (dit werkt!).
in de vierde echo moet een toeslag bedrag komen wanneer de aangeklikte datum zondag 3 mei is zonder dat de hele pagina gerefreshed hoeft te worden.

Over waarom de tweede echo niet werkt tast ik dus nog in het duister. Hierin wordt alleen een datum getoond die is voorgeselecteerd voordat er op de Datepicker datum wordt geklikt.

2. het versturen van de datum naar savedatum.php lukt wel omdat dit gebeurd in de Datepicker functie. Het stukje javascript van de Datepicker staat in een speciaal javascript bestand.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
onSelect: function(dateText, inst) {
   $("input[name='eventdate']").val(dateText);
   $("#alternatedate").fadeIn();

   $.post( "/savedatum.php", { selecteddate:dateText } );
}


3. op de pagina/script formulier.php staat onderin ook een ajax stukje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function berekentotaal()
{
  $.post("/berekentotaal.php", $('#processform').serialize(), function(html)
  {
    $('#showtotaal').html(html);
  });
}
berekentotaal();
$('#processform  input[type="hidden"].selecteddate').change(function(){berekentotaal();});


Dit stukje code staat dus op de formulier.php pagina en moet de waarde van .selecteddate sturen naar berekentotaal.php wanneer de waarde van het formulierveld .selecteddate veranderd.

Dit werkt niet goed omdat in het veld van de eventdate niet de reallife aangeklikte datum wordt opgenomen...
Ik moet dus op de formulier.php pagina een stukje code hebben die iets doet zoals:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if($_POST["eventdate"]=="2015-05-03")
{
  // bereken de toeslag
}else{
  // geen toeslag berekenen
}


De uitkomst van die if constructie moet dan zonder refreshen getoond worden op de formulier.php pagina.

Ik hoop dat ik de situatie nu goed in beeld heb gebracht.
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 15:38:59
Quote Anchor link
Ugh, waarom echo'd iedereen statische HTML :p.

Zet alle attribuut waarden tussen "dubbele quotes".

Weet je zeker dat je geen JavaScript foutmeldingen krijgt? Ook al is de constructie (met enkele quotes) niet helemaal juist zou dit nog steeds moeten werken.
 
Johnny Cash

Johnny Cash

01/05/2015 15:50:42
Quote Anchor link
In het stukje javascript van de Datepicker staat verder geen fouten. Of ik moet er na 100 keer lezen overheen kijken...
Ik heb de attributen voor de correctheid nu ook tussen dubbele quotes gezet, maar nog steeds wordt er niet gedaan wat ik graag zou willen.

Toevoeging op 01/05/2015 15:58:02:

Ik heb op verschillende posites binnen de Datepicker javascript het volgende geplaatst en hiermee krijg ik wel de geselecteerde datum te zien als Alert message:
alert(dateText);

En de waarde die daar wordt getoond moet dus simpelweg direct in het eventdate formulierveld worden gestopt...
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 16:04:16
Quote Anchor link
Quote:
In het stukje javascript van de Datepicker staat verder geen fouten. Of ik moet er na 100 keer lezen overheen kijken...

Je moet niet naar code kijken, je moet kijken naar wat je browser je vertelt. Als je JavaScript onderweg ergens breekt om wat voor reden dan ook doet je code vervolgens niets meer.

Zonder complete code wordt dit een beetje lastig.

is dateText een object toevallig (in plaats van een string)?
wordt de naam "eventdate" meerdere keren gebruikt?
heeft je HTML syntax-fouten?
staat het inputveld wel binnen je form-tag?

Ik kan zo blijven raden wat er fout is natuurlijk :p.
 
Johnny Cash

Johnny Cash

01/05/2015 16:23:55
Quote Anchor link
Mijn kennis in javascript is niet optimaal, daarom kom ik er waarschijnlijk ook niet uit.

dateText wordt alleen hier gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
onSelect: function(dateText, inst) {
   $("input[name='eventdate']").val(dateText);
   $("#alternatedate").fadeIn();

   $.post( "/savedatum.php", { selecteddate:dateText } );
}


De "eventdate" wordt gewoon één keer gebruikt en staat ook binnen de form-tag ;)
HTML heeft verder geen syntax fouten.

Laat ik de vraag anders stellen. Hoe zou jij het bovenstaan (wat ik wil) realiseren binnen de code die ik nu heb.
Mijn punt is dat eigenlijk alles werkt zoals het hoort alleen dat stukje zoals hierboven beschreven.

Wat ik denk wat fout gaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function berekentotaal()
{
  $.post("/berekentotaal.php", $('#processform').serialize(), function(html)
  {
    $('#showtotaal').html(html);
  });
}
berekentotaal();
$('#processform  input[type="hidden"].selecteddate').change(function(){berekentotaal();});


Dat hierin niet wordt gezien dat het input veld .selecteddate veranderd ofzo...

Toevoeging op 01/05/2015 16:52:57:

Ik heb weer een controle uitgevoerd.
Ik heb van de hidden input formfield "eventdate" een text input formfield gemaakt zodat ik kan zien wat er in komt te staan nadat de er een datum is aangeklikt via de Datepicker.

Als ik op zondag 3 mei 2015 klik komt er netjes 2015-05-03 in de input formfield te staan "eventdate".
Dit formulierveld wijzigt dus wel.

Ik begin echt te denken dat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function berekentotaal()
{
  $.post("/berekentotaal.php", $('#processform').serialize(), function(html)
  {
    $('#showtotaal').html(html);
  });
}
berekentotaal();
$('#processform  input[type="hidden"].selecteddate').change(function(){berekentotaal();});

niet overweg kan met een formulierveld die via post callback wordt gevuld vanuit javascript.
kan dat kloppen?
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 17:04:17
Quote Anchor link
Waarom zou je dit via een class willen doen? Doe dit via de name of een id.

Daarnaast, ik neem aan dat je dit in een $().ready(function() { ... }) block hebt staan om er verzekerd van te zijn dat je DOM en dergelijke ingeladen zijn?

Ik ben even een eigen variant aan het opzetten om te zien wat er mogelijk mis kan gaan, maar ben nog niet klaar.
 
Johnny Cash

Johnny Cash

01/05/2015 17:13:47
Quote Anchor link
Wanneer ik op de bewust zondag 3 mei klik en vervolgens de pagina refresh komt wel de toeslag melding tevoorschijn via de waarde in "eventdate", maar ja de kunst van ajax is uiteraard dat dit gebeurd zonder refresh...

Ik ben ook nog steeds zoekende en probeer nu veel uit en probeer ook het één en ander uit te sluiten.
En ja de function berekentotaal() staat tussen een $().ready(function() { ... }) block.
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 17:27:59
Quote Anchor link
Kijk eens in je netwerktab, wat wordt precies gePOST?

Klopt die slash wel voor /berekentotaal.php? Levert dat geen 404 op ofzo?

EDIT: heeft het inputveld met id "eventdate" ook een attribuut "name"?

---

EDIT: ik weet niet hoe je code er verder uitziet, maar je kunt ook prima die mededeling in je berekeningsterugkoppeling zetten, zoiets dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<form id="processform">
<input type="text" id="eventdate" name="eventdate" />
</form>

<div id="showtotaal"></div>

<script type="text/javascript">
//<![CDATA[
    $().ready(function() {
        // callback function for filtering available days
        function availableDates(d) {
            var date = $.datepicker.formatDate('yy-mm-dd', d);
            var enabled = true;
            var exceptions = ['2015-05-03'];

            // first, disable weekends
            var noWeekends = $.datepicker.noWeekends(d);
            enabled = noWeekends[0];

            // then check if this is an exception
            if ($.inArray(date, exceptions) > -1) {
                enabled = true;
            }
            return [enabled];
        }

        //
        $('#eventdate').datepicker({
            'dateFormat': 'yy-mm-dd', // yy-mm-dd
            'beforeShowDay': availableDates
        });

        $('#eventdate').change(function() {
            $.post('berekentotaal.php', $('#processform').serialize(), function(html) {
                $('#showtotaal').html(html);
            });
        });
    });
//]]>
</script>


berekentotaal.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
header('Content-Type: text/html; charset=UTF-8');

$specialDates = array('2015-05-03');

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // obviously, you need to VALIDATE your data as well...
    echo '<pre>'.print_r($_POST, true).'</pre>';
    if (in_array($_POST['eventdate'], $specialDates)) {
        ?>
<div style="background-color: #ffcccc;"><p>Opgelet: extra toeslag!</p></div><?php
    }
}

?>
Gewijzigd op 01/05/2015 17:44:11 door Thomas van den Heuvel
 
Johnny Cash

Johnny Cash

01/05/2015 17:44:06
Quote Anchor link
Het inputveld heeft als name="eventdate". Aan dit inputveld hangt geen id maar een class die weer in de AJAX call staat. De ID uit onderstaand stukje gebruik ik om een voluit geschreven datum te presenteren in #alternatedate.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
onSelect: function(dateText, inst) {
   $("input[name='eventdate']").val(dateText);
   $("#alternatedate").fadeIn();

   $.post( "/savedatum.php", { selecteddate:dateText } );
}


Dus in eventdate wordt "2015-05-03" gestopt en Zondag, 3 mei 2015 wordt aan #alternatedate gekoppeld.
Met die laatste voluit geschreven datum doe ik verder niets, alleen maar weergave. De waarde van "eventdate" moet via de AJAX call worden doorgestuurd naar berekentotaal.php

Die slash klopt inderdaad. Er wordt naast "input[type="hidden"].selecteddate" ook andere variabelen meegestuurd zoals:
select.soortadres
input[type="text"].emailadres

Dit werkt overigens goed. Alleen de waarde uit "eventdate" (input[type="hidden"].selecteddate) wordt niet gevuld doorgestuurd.
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 17:47:34
Quote Anchor link
Ah, savedatum is voor de publieke weergave van de datum? Mogelijk heb je iets aan het bovenstaande antwoord, anders moet ik later even verder kijken - moet nu aan de kokerij :/.
 
Johnny Cash

Johnny Cash

01/05/2015 20:05:10
Quote Anchor link
Bedankt Thomas,

Ik heb even goed naar je code gekeken en bepaalde dingen toegepast op mijn programmatuur, maar dit is niet de oplossing helaas.

Wat ik denk (en begin het bijna zeker te weten) dat het volgende het probleem is:

1. ik heb een javascript.js bestand, hierin staat het stukje javascript voor de Datepicker met o.a. onderstaande code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
onSelect: function(dateText, inst) {
   $("input[name='eventdate']").val(dateText);
   $("#alternatedate").fadeIn();

   $.post( "/savedatum.php", { selecteddate:dateText } );
}


2. de Datepicker kalender staat in formulier.php, <div id="datepicker" class="deDatepicker"></div>

3. het script savedatum.php (zichtbaar in het .js bestand) is er alleen om de aangeklikte datum in een database te stopen. Dit zou je voor mijn probleem kunnen wegdenken.

4. op de pagina formulier.php wordt de aangeklikte datum getoond in zowel input field "eventdate" (format 2015-05-03) en in de readonly input met ID alternatedate (format Zondag, 3 mei 2015).

5. verder staat er op formulier.php een stukje ajax die elke wijziging van het formulier #processform doorstuurt naar een verwerkingsscript genaamd berekentotaal.php

6. naar dit berekentotaal.php script worden verschillende variabelen gestuurd m.b.v. onderstaande stukje code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function berekentotaal()
{
  $.post("/berekentotaal.php", $('#processform ').serialize(), function(html)
  {
    $('#showtotaal').html(html);
  });
}
berekentotaal();
$('#processform select.selectcard, input[type="checkbox"].agree, #eventdate').change(function(){berekentotaal();});


7. alle formulier elementen staan tussen de form-tags waarbij select.selectcard en de checkbox op de formulier.php pagina zelf worden aangevinkt of geselecteerd. De #eventdate wordt echter gevuld vanuit javascript.js

8. de andere twee formulier elementen worden correct en goed doorgestuurd wanneer de waarde veranderd, maar dit gebeurd bij de #eventdate niet.


Ik weet dus eigenlijk wel zeker dat de veranderingen die het javascript.js bestand doorvoert naar het $eventdate element niet worden herkent als zijn CHANGE op de pagina formulier.php

Hier moet ik dus een oplossing voor zien te vinden.
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2015 20:30:00
Quote Anchor link
Als je niets opmerkelijks in de code ziet wordt het tijd om te gaan debuggen.

Van welke browser maak je gebruik?

Heb je extensies geinstalleerd?

Maak je gebruik van de developer console (functietoets F12)?

Je moet informatie "tot je laten komen" (en je moet weten hoe) om hier uit te komen, want dit is anders een beetje blind schieten. De eerste stap is het gewoon maar dumpen van informatie naar je scherm / je console om het probleem op te sporen en te isoleren zodat je op zijn minst weet WAAR het fout gaat. Vervolgens kun je aan een oplossing gaan werken.

Ik snap alleen niet goed waarom je tussentijds een datum wegschrijft. Ook lijkt mij:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$("input[name='eventdate']").val(dateText);

nogal loos als dit veld al gekoppeld is aan je datepicker...

...Come to think of it, hoe luidt jouw declaratie van je datepicker object? Deze zie ik nergens staan :/. Het is voor mij verdomd moeilijk om een puzzel op te lossen waarvan ik niet alle stukjes heb. Waarom post je niet alle relevante delen?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

02/05/2015 13:12:03
Quote Anchor link
Ik heb het (sterke) vermoeden dat de datepicker gekoppeld is aan een div (inline).

Wat belangrijk is om te weten is dat als je via JS/JQuery de waarde van een input aanpast, de change event niet wordt getriggerd.

Maar eigenlijk wil je dat ook niet, want dat zou betekenen dat er nagenoeg gelijktijdig twee ajax request plaats vinden.

Net zoals Thomas vraag ik me af waarom je het in twee stappen wilt, maar als dat nodig is zou ik de berekentotaal() functie aanroepen in de callback van $.post('saveDatum.php').
 
Johnny Cash

Johnny Cash

02/05/2015 13:28:52
Quote Anchor link
De Datepicker is inderdaad gekoppeld aan de inline div. Dat staat ook in mijn stukje code die ik gisteren om 15:16 heb gepost:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<div id="datepicker" class="deDatepicker"></div>';


Het klopt dat de change event niet wordt getriggerd, en dat is juist iets wat ik wel wil.
Is er niet een oplossing waarbij een change event wordt getriggerd wanneer de waarde via js/jquery wordt aangepast?

De twee request zijn wel nodig. De post naar savedatum.php is een stukje code wat enkel een aangeklikte datum op slaat. in savedatum.php staat enkel en alleen een mysql query.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

02/05/2015 13:57:26
Quote Anchor link
Johnny Cash op 02/05/2015 13:28:52:

Het klopt dat de change event niet wordt getriggerd, en dat is juist iets wat ik wel wil.
Is er niet een oplossing waarbij een change event wordt getriggerd wanneer de waarde via js/jquery wordt aangepast?

Ik kan even niet volgen waarom je dat wilt, het enige wat je in de eventListener hebt staan is een call naar berekentotaal().

Dus waarom niet dit:
Code (js)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
onSelect: function(dateText, inst) {
    $("input[name='eventdate']").val(dateText);
    $("#alternatedate").fadeIn();

    $.post( "/savedatum.php",
        {
selecteddate:dateText },
        function(){
            berekentotaal();
        }
    );
}
 
Thomas van den Heuvel

Thomas van den Heuvel

02/05/2015 14:38:05
Quote Anchor link
Johnny Cash op 02/05/2015 13:28:52:
Het klopt dat de change event niet wordt getriggerd, en dat is juist iets wat ik wel wil.
Is er niet een oplossing waarbij een change event wordt getriggerd wanneer de waarde via js/jquery wordt aangepast?

Zelf de trekker overhalen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$("input[name='eventdate']").trigger('change');
 
Johnny Cash

Johnny Cash

02/05/2015 15:27:32
Quote Anchor link
Zelf de trigger overhalen leek mij ook de beste oplossing, maar dan moet ik deze samenvoegen met mijn andere stukje jquery omdat ik nog 2 andere variabelen meestuur voor de berekentotaal functie.

Wordt dan dit stukje code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function berekentotaal()
{
  $.post("/berekentotaal.php", $('#processform ').serialize(), function(html)
  {
    $('#showtotaal').html(html);
  });
}
berekentotaal();
$('#processform select.selectcard, input[type="checkbox"].agree, input[name='eventdate']').change(function(){berekentotaal();});


Het volgende stukje code?:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
function berekentotaal()
{
  $.post("/berekentotaal.php", $('#processform ').serialize(), function(html)
  {
    $('#showtotaal').html(html);
  });
}
berekentotaal();
$('#processform select.selectcard, input[type="checkbox"].agree').change(function(){berekentotaal();});

$("input[name='eventdate']").trigger('change');


Dit werkt uiteraard nog niet, maar ik heb nu echt geen idee wat ik aan de nieuwe regel moet toevoegen zodat de variabele wordt meegestuurd in de berekentotaal() functie...

Dit function(){berekentotaal();} moet ik toch ook toevoegen in de nieuwe regel?



Toevoeging op 02/05/2015 19:58:28:

Ik maak een bedrag van 25 EUR over voor de geen die de verlossende oplossing heeft voor mijn laatste post...
Ik ben al 3 dagen zoet met dit stukje en kom er echt niet meer uit.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.