datepicker gebruiken op subdiv

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eric T

Eric T

22/06/2014 23:41:38
Quote Anchor link
Helaas ben ik niet bedreven genoeg met javascript om er achter te komen hoe ik dit moet aanpakken...

Situatie:
Ik heb binnen een index.php een div (id="subDiv") waarop ik een subpagina 'seizoen.php' aanroep middels javascript.
Dat gaat prima. Ook alle javascripts die ik uitvoer op velden in seizoen.php doen het, waarbij de
javascript functies dus zoals het hoort netjes in index.php staan.

Vervolg van de situatie:
Ik wil gebruik gaan maken van deze datepicker:
http://jqueryui.com/datepicker/

Op index.php staat nu het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>


In seizoen.php staat o.a.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<form name="form1" id="form1" method="post" action="savedates.php">
    <input type="text" id="datepicker">
</form>


Probleem:
Als ik het input veld in index.php zet, werkt alles en kan ik een datum kiezen uit een kalender.
Zet ik het veld echter in seizoen.php, dan werkt het niet meer... :-(
(ook niet als ik alle betrokken regels in index.php verplaats naar seizoen.php, wat ik ook al eigenlijk verwachtte)

Vraag:
Wat doe ik fout?
Moet ik misschien ergens de naam van het formulier waarin het inputveld zich bevindt mee geven? (maar hoe dan?)
Of misschien de div naam?
Ik heb werkelijk geen idee...
Iemand die me een stapje op weg kan helpen?
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 23/06/2014 00:31:38 door - Ariën -
 
PHP hulp

PHP hulp

24/12/2024 14:22:25
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/06/2014 00:36:45
Quote Anchor link
Oké geen kant en klaar antwoord maar ik ga proberen om je een duw in de rug te geven.

Als eerste maak ik uit je verhaal op dat je te veel in (php-)pagina's denkt.

Al include je 100 php pagina's de opbrengst van je script is altijd één pagina (uitgaande van HTML).

Zoek eens in je browser naar de bron van je pagina zodat je de HTML kunt zien. Dát is dus wat je PHP applicatie heeft gegenereerd. Is de HTML wel valid?

PHP versus Javascript.

PHP draait op de webserver. Wanneer de webserver de inhoud van de opgevraagde pagina terugstuurt naar de browser dan is het PHP script al beëindigd. wat er over blijft is HTML + eventueel javascript.
Dan gaat de browser een mooie pagina op het scherm tonen aan de hand van de HTML en zal javascript in de browser uitgevoerd worden.

Datepicker..

Datepicker onderdeel van jQuery is een professioneel script dat dus onder goede condities zou moeten werken op je pagina.

Waar het dan toch fout kan gaan:
- jQuery(UI) libraries worden niet ingeladen
- meerdere elementen die dezelfde ID's hebben. Op één pagina mag slechts één HTML element een bepaald id (id="xxx") hebben.
- $( "#datepicker" ).datepicker(); niet in $(function() { } staat
- er fouten in javascript optreden waardoor het script voortijdig gestopt wordt
- de HTML niet valide is

Welke browser gebruik je?
Gewijzigd op 23/06/2014 00:37:35 door Frank Nietbelangrijk
 
Eric T

Eric T

23/06/2014 08:21:37
Quote Anchor link
Heb het nu werkend. Weet niet zeker of het zo gebeurt dat ik denk dat gebeurt, maar....

Zoals het voorbeeld gegeven door de scriptbouwers:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$(function() {
$( "#datepicker" ).datepicker();
});

wordt de functie direct uitgevoerd, terwijl de subdiv/pagina nog niet geladen is.
Die laadt namelijk pas na het klikken van keuze 'seizoen' (=een button op de index.php).
Ofwel, het was nodig de functie aan te roepen vanuit het input veld, en de functie een echte functie maken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
function datePick(){
$( "#datepicker" ).datepicker();
}

en:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="text" id="datepicker" onClick="datePick()">


Hafijn, hij doet ut nu :-)

Thx voor het meedenken Frank!
 



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.