Hi,
ich arbeite an einer eCommerce-Seite. Neben den Produkten ist ein button mit einem Bild drin. Wenn der Besucher da drauf klickt, soll das Bild ausgetauscht werden, so dass eine animierte Sanduhr zu sehen ist und außerdem soll verhindert werden, dass der Knopf mehrmals angeklickt wird und das Produkt damit mehrmals im Warenkorb landet.
Das Javascript dazu sieht bisher so aus:
function buttonsent(button) {
var img = button.firstChild;
var oldname = img.src;
var i = oldname.length - 4;
img.src = oldname.substring(0,i) + "_sent.gif";
// prevent further clicks and form sending
button.disabled = true;
button.onclick = null;
// but send form this time!
parent = button.parentNode;
while (parent.tagName.toLowerCase() != "form") {
parent = parent.parentNode;
}
parent.submit();
/* disable form */
parent.action = null;
/* Reassigning the img.src should keep it animated
* see http://elliottback.com/wp/animated-gif-stops-javascript-click/ */
img.src = img.src;
}
Und das HTML
<button onclick="setLocation('...')" onmousedown="buttonsent(this);">
<img src="/images/warenkorb/warenkorb_button.png" alt="bestellen" />
</button>
Das onclick script ist vom Shopsystem (Magento) und sollte vermutlich drin bleiben.
Das Problem ist nun, dass das script nicht immer funktioniert. Ich habe keine Ahnung woran diese Unzuverlässigkeit liegt.