function javascript:confirmDelete(delUrl) {
if (confirm("Weet u zeker dat u dit product wilt verwijderen?")) {
document.location = delUrl;
}
}
Na bevestiging (confirm) wordt de actie van verwijderen uitgevoerd.
Dit werkt, zoals het hoort, goed in Chrome en Firefox, maar in IE (versie 11) niet!
Wat werkt er dan niet?
Er gebeurd niets, er wordt geen confirmation gevraagd...
Hoe kan dat? Ik weet dat IE waardeloos is maar dit zou toch gewoon moeten werken?
Dat eerste had ik ook al getest inderdaad om te kijken of de waarde veranderd zodra ik elders op de pagina klik. Dat is niet het geval.
Ik heb ook de IE developer tool zojuist gebruikt (bedankt voor de tip). Maar ik merk op dat wanneer ik de waarde voor aantallen verander dat er niets gebeurd...
Dan snap ik niet wat er misgaat, want ik heb eerder code van jou geknipt en geplakt, en bij mij werkt het prima in IE11, of je nu bind() of on() gebruikt:
Dit stukje code, met andere filename.php uiteraard, staat onderaan de winkelwagen pagina en nu werkt het in IE wel.
Waarom kan ik niet gewoon een javascript bestand .js includen zoals ik eerst had:
Dat zorgt ervoor dat je JavaScript code pas uitgevoerd wordt als je document volledig geladen is.
Misschien probeer je in IE events te koppelen aan HTML-elementen die nog niet bestaan omdat je HTML-document nog niet (volledig) is (in)geladen.
EDIT: als je die ready check eromheen zet kun je het wel in een js bestand zetten en includen in je head-tag zonder problemen waarschijnlijk.
CDATA-blokken moeten bij mijn weten om inline JavaScript gezet worden. De reden ben ik inmiddels vergeten. Je zou eens kunnen googlen op de correcte manier, volgens mij kom je dan nog een heleboel andere varianten tegen.
EDIT2: stond dit javascript bestand waar je je code uitgehaald had NA de regel waarin je jQuery had ingeladen, of ERVOOR? :)
CDATA is voor inline js in XHTML, in HTML5 is het normaal gesproken niet meer nodig. Maar het kan geen kwaad om het erin te zetten. Het heeft te maken met het parsen van < en &.
Overigens is het helemaal niet nodig om externe javascript bestanden in de head te zetten, dit kan ook op elke willekeurige plek binnen de body (maar bij voorkeur net voor de body endtag).
Als je $().ready( ... ) gebruikt zou dat niet uit moeten maken.
EDIT: maar het is handig / verstandig om inline JavaScript (als je om een of andere reden hier niet omheen kan) aan het einde van je document te zetten (voor je </body> tag) buiten andere HTML-elementen (zoals Ger al aangaf zie ik net :)).