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?
Bedankt Thomas voor de reactie, maar dit lost het algehele probleem niet op.
Kun je mijn post over aantallen aanpassen in een winkelwagen met daarbij de verwerking via jquery?
Dat doet het ook perfect in Chrome en Firefox, maar NIET in IE.
Een product heeft bij het toevoegen aan de winkelwagen een $currentamount (van 1), men kan het aantal aanpassen met een getal tussen de 1 en de 30. Vervolgens drukken ze op wijzgen waardoor feitelijk de winkelwagen pagina opnieuw wordt getoond.
Tevens:
- om waarden van properties moeten "dubbele quotes"
- de naam "wijzig" is een beetje misleidend, want dat is al gebeurd zodra je iets wijzigt in je input veld, althans ik neem aan dat dat de bedoeling is?
Op de pagina bestel.php staat: echo "<div id='showwinkelwagentotaal'></div>";
Ik kreeg het niet voor elkaar om in de winkelwagen.php ook een dergelijke functie zoals hierboven te bouwen.
Ik heb het idee dat wanneer ik dat doe (jquery post in een jquery post) dat het niet goed gaat...
Het werkt in Chrome en Firefox, maar niet in IE...
Dat maakt niet uit. Als je iets niet volgens de standaard doet, hoef je niet te verwachten dat het altijd werkt, zoals nu ook blijkt. Los bovenstaande eerst op, en kijk of je probleem dan nog steeds speelt.
Een input veld van het type "number" is HTML5, ik weet niet in hoeverre IE dat (al) ondersteunt.
Los daarvan: als je je netwerktab in de gaten had gehouden dan had je gezien dat het "change" event in IE pas vuurt als het inputveld van waarde is veranderd, en de focus heeft verloren.
Het werkt dus wel, alleen wellicht niet op het moment dat jij verwachtte.
As of jQuery 1.7, the .on() method is the preferred method for attaching event handlers to a document.
Niet dat het je probleem oplost, maar toch ;-)
Wat Thomas ook al aangeeft, niet alle browser reageren hetzelfde als bepaalde zaken niet op orde zijn.
Wat ik uit jou andere topic kan opmaken is dat je meerdere inputs kan hebben, en als dat het geval is mogen ze niet dezelfde name en id hebben.
De name kan je oplossen door er een array van te maken en de id kan via het data- attribuut:
Ik ben er mee aan de slag gegaan en probeer het te begrijpen.
Ik heb de volgende dingen nu geprobeerd, zonder resultaat:
$(".amountprod").on("change", function(){
$.ajax({
url: "/savenewamount.php",
type: "post",
data: {newamount: $(this).val(), product_id: $(this).data("id")},
success: function(html){
// hier wat je wilt doen
}
});
});
- Ik heb het INPUT TYPE veranderd in TEXT, ik het TYPE attribuut zelfs al weggehaald voor de test;
- Ik heb alle dubbele INPUT NAME verwijder zodat ik het nu maar met één INPUT NAME="amountprod" doe;
De verwerkingspagina is nog steeds goed (want in Chrome en Firefox werkt het!!):
Ook heb ik verschillende EVENTS geprobeerd: change, focus, onclick etc.
Het blijft aan het einde van de rit NIET in IE (versie 11) werken maar wel in Chrome en Firefox, ook bovenstaande aanpassingen werken in Chrome en Firefox.
Klik eens ergens willekeurig op een lege plek op je pagina nadat je de waarde hebt aangepast. En controleer dan eens of het wel effect had? Zoals ik eerder zei: als je in IE de waarde verandert, maar de focus / cursor blijft op je invoerveld staan, dan vuurt "change" niet.
Controleer ook in de developer tab van IE (F12) of er uberhaupt iets gePOST wordt. Druk daartoe wel op het "play" knopje om netwerkverkeer te volgen.