datepicker gebruiken op subdiv
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)
1
2
3
4
5
6
7
8
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>
<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)
1
2
3
2
3
<form name="form1" id="form1" method="post" action="savedates.php">
<input type="text" id="datepicker">
</form>
<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!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 23/06/2014 00:31:38 door - Ariën -
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
Zoals het voorbeeld gegeven door de scriptbouwers:
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:
en:
Hafijn, hij doet ut nu :-)
Thx voor het meedenken Frank!