event.preventDefault() werkt vraagteken-url tegen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Junior Java Developer

Dit ga je doen Full stack web- en appdevelopment; Vertalen van de functionele wensen naar de technische specificaties; Sturing geven aan/klank board zijn voor de software teams; Trainen van de software teams; Sparren met klanten; Meedenken over architectuur. Hier ga je werken De organisatie is een bureau welke websites en mobiele applicaties bouwt voor verschillende toonaangevende organisaties. Hierbij richten zij zich voornamelijk op de sectoren leisure, overheid en zorg. De sfeer intern kenmerkt zich door informaliteit, gezelligheid en ambitie. Ze werken dag in dag uit samen om mooie producten op te leveren voor hun klanten. Op dit moment zijn er

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Core developer wordt jij onderdeel van ons team met drie breed ontwikkelde software engineers en een flexibele schil met zes ervaren freelancers. Jij gaat mee in de visie van onze organisatie om als IoT partner in deze branche specifieke markt “het” platform te blijven innoveren en deze ook steeds slimmer te maken. Wij hopen dan ook zeker dit in de toekomst te kunnen realiseren met bijvoorbeeld Artificial Intelligence. De architectuur van ons platform is opgemaakt uit een deel eigen protocol, een interface laag en een laag welke de protocollen van derde partijen vertaald naar het eigen

Bekijk vacature »
Fabian W

Fabian W

18/04/2015 23:14:45
Quote Anchor link
Ik heb een simpel get form #df met 2 select boxen #dm en #dy en een submit input #ds.
Via de volgende code haal ik een php file op en laad deze in mijn div #content_box.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$(document).ready(function(){
    $('#df').submit(function(event){
        var month_ddchart = $('#dm').val();
        var year_ddchart = $('#dy').val();
        source_ddchart = '/data/ddc-'+month_ddchart+'-'+year_ddchart+'-body.php';
        $('#content_box').load(source_ddchart);
        event.preventDefault();
    });
});

Het probleem dat ik heb is dat het benodigde event.preventDefault() voorkomt dat de parameters in de url komen. Hoe kan ik dit oplossen?
 
PHP hulp

PHP hulp

29/03/2024 06:34:20
 
Wouter J

Wouter J

19/04/2015 00:36:01
Quote Anchor link
Waarom is event.preventDefault() nodig? Als je wel de default behaviour wil (het submitten van het form en daarbij het toevoegen van parameters aan de URL), dan moet je dit niet gaan voorkomen.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2015 00:55:17
Quote Anchor link
Fabian W op 18/04/2015 23:14:45:
Het probleem dat ik heb is dat het benodigde event.preventDefault() voorkomt dat de parameters in de url komen. Hoe kan ik dit oplossen?

Wijs eens in het bovenstaande code-fragment aan waar je query-parameters gebruikt, want ik zie ze niet.
 
Fabian W

Fabian W

19/04/2015 09:49:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
  
  <form method="get" class="load_ddchart" id="df" name="df">
      <select class="form_select" id="dm" name="dm"><option value="jan">Januari</option><option value="feb">Februari</option><option value="mrt">Maart</option><option value="apr">April</option><option value="mei">Mei</option><option value="juni">Juni</option><option value="juli">Juli</option><option value="aug">Augustus</option><option value="sept">September</option><option value="okt">Oktober</option><option value="nov">November</option><option value="dec">December</option></select>
      <select class="form_select" id="dy" name="dy"><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option></select>
      <input class="go_button" id="ds" name="ds" type="submit" value="Go"/>
  </form>

Vanuit dit form maak ik dus een link als /data/ddc-feb-2015-body.php.
Als ik preventDefault() er uit sloop, krijg ik heel kort het gewenste file in de content_box te zien, waarna de default actie van de browser wordt uitgevoerd: redirecting naar het oorspronkelijke file (de index.php met lege content_box). De parameters (?dm=feb&dy=2015&ds=Go) blijven zo wel in de url staan, maar ik heb er niks aan.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2015 10:59:00
Quote Anchor link
En wat wil je nu eindelijk bereiken?
- wel een redirect na afloop naar ... ?
- geen redirect, maar met inladen van URL ... ?
- iets anders?

Die event.preventDefault() heeft namelijk enkel effect op het verzenden van het formulier - dit wordt tegengehouden. Verder wordt er op geen enkele manier functionaliteit "beperkt" zoals jij het laat overkomen, de veroorzaker van het ongewenste gedrag zit dus waarschijnlijk ergens anders.

Volgens mij is er wel een soort van ongeschreven regel of goede gewoonte om die preventDefault() meteen aan het begin van de event-afhandeling te zetten, om duidelijk te maken dat het niet de bedoeling is dat de bijbehorende actie (het verzenden van het formulier zelf) ook daadwerkelijk wordt uitgevoerd.
 
Fabian W

Fabian W

19/04/2015 12:28:14
Quote Anchor link
Wat ik dus wil bereiken is:
1. Het laden van een ander php file in een div d.m.v. een form
2. Het weergeven van de form variabelen in de url

Zonder preventDefault() bereik ik alleen goal 2
Met preventDefault() bereik ik alleen goal 1 (maakt niet uit waar ik preventDefault neerzet).
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2015 13:33:34
Quote Anchor link
Fabian W op 19/04/2015 12:28:14:
2. Het weergeven van de form variabelen in de url

Ehhh... Je wilt dus de URL van de huidige pagina aanpassen zonder weg te navigeren van die pagina, en dan de daadwerkelijke informatie ophalen via AJAX?

Waarom gooi je niet gewoon de AJAX-call er tussenuit, dit klinkt namelijk ontiegelijk omslachtig. Is dit om niet "extra" content te laden (een extra page refresh), om hoeveel data gaat het helemaal?

Dus in plaats van:
- submit form, vang submit af
- bak URL mbv form data, haal pagina op mbv AJAX
- pas URL handmatig aan, alsof het form gesubmit was

gewoon:
- submit het formulier....

Alternatief #2:
Mogelijk wil je zoiets.

Alternatief #3:
URL rewriting.

EDIT: jQuery en AJAX zijn hulpmiddelen, geen doelen. Je hoeft het niet per se te gebruiken in dit geval, dus ik snap niet dat je zoveel moeite doet om het moeilijker te maken op deze manier.
Gewijzigd op 19/04/2015 13:37:21 door Thomas van den Heuvel
 
Fabian W

Fabian W

19/04/2015 14:26:09
Quote Anchor link
Thanks! Duidelijk antwoord.

Kan je dit bereiken door url rewriting?
Indien ja, dan is dat veruit de beste oplossing, want dan kan ik de url meteen omschrijven tot iets van site.com/ddchart/feb/2015 wat natuurlijk super mooi is, maar ja ik weet niet of dat haalbaar is.

Anders is de eerste optie denk ik het best. Ik dacht dat dit probleem kleiner zou zijn met Ajax, maar een andere manier van data ophalen kan ik ook doen. De data die opgehaald wordt is niet zo enorm groot. Vooral tabel data. Dit kan in het uiterste geval tot 100 png en 100 jpg afbeeldingen bevatten. Dat beinvloedt de snelheid het meest denk ik.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2015 15:05:16
Quote Anchor link
Fabian W op 19/04/2015 14:26:09:
Kan je dit bereiken door url rewriting?
Indien ja, dan is dat veruit de beste oplossing, want dan kan ik de url meteen omschrijven tot iets van site.com/ddchart/feb/2015 wat natuurlijk super mooi is, maar ja ik weet niet of dat haalbaar is.


Dit lijkt mij vrij eenvoudig, herschrijf alles van de vorm /ddchart/*/* (naar bijvoorbeeld script.php?argument1=waarde1&argument2=waarde2) waarbij de eerste * overeensteemt met een maand (je zou er nog voor kunnen kiezen om hier een maandnummer met een "leading zero" van te maken, en de tweede * met een jaartal.

Of je draait het om, dan stemt de alfabetische sortering overeen met de numerieke (2014/12 komt voor 2015/01 komt voor 2015/02 etc).

En met een enkel argument zou je een soort van jaaroverzicht kunnen teruggeven.
 
Fabian W

Fabian W

19/04/2015 20:12:34
Quote Anchor link
Goeie tips. Sinds mijn .htaccess file nog leeg is, zal ik mij in de komende tijd wel gaan verdiepen in hoe dat allemaal werkt.

Trouwens een oplossing zonder Ajax load is niet veel anders:
Nog steeds geen variabelen in de url en een naar effect van onderstaande manier is dat het object een verkeerde grootte heeft.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
document.getElementById("content_box").innerHTML='<object type="text/html" data='+source_ddchart+' ></object>';
Gewijzigd op 19/04/2015 20:34:25 door Fabian W
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2015 21:32:51
Quote Anchor link
En als je je .htaccess schoon wilt houden zou je ook kunnen overwegen om alle verzoeken naar niet-bestaande scripts door te sturen naar index.php waar je verder bepaalt hoe deze afgehandeld dienen te worden.

Of je regelt alle routing van je site op deze manier.
Gewijzigd op 19/04/2015 21:33:36 door Thomas van den Heuvel
 
Fabian W

Fabian W

20/04/2015 11:45:56
Quote Anchor link
Nee ik vind het prima dat .htaccess gebruikt wordt. Ik heb er alleen nog nooit mee gewerkt. Dus ik heb geen idee hoe je de browserurl moet omschrijven als een bepaalde inhoud geladen is.
 
Fabian W

Fabian W

24/04/2015 23:54:46
Quote Anchor link
Fixed it!!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_GET['ds'] == "Go")  {
include 'data/ddc-'.$_GET['dm'].'-'.$_GET['dy'].'-body.php';
}

?>


Niks moeilijk doen met javascript of ajax. Gewoon met php doet die het wel!
Gewijzigd op 24/04/2015 23:57:17 door Fabian W
 



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.