Weiterleiten mit JS im IE
Oliver
- javascript
0 Antje Hofmann0 Oliver0 Antje Hofmann0 Oliver
0 Alexander Ganz
Hallo liebe Forumler,
kann es sein, daß so eine harmlose Funktion wie
function bestaetigen(){
var eingabe;
eingabe = confirm("ACHTUNG! Sie bestellen per Klick auf 'OK' die von Ihnen ausgewählten Artikel. \n\nDiese werden an die eingegebene Adresse geliefert. \n\nPer Klick auf 'Abbrechen' können Sie zur aktuellen Seite zurückkehren.");
if(eingabe == true){
location.href="bestaetigung.html";
return true;
}else{
return false;
}
}
die durch
<input type=submit value="Bestellen!" onClick = "return(bestaetigen());">
aufgerufen wird, nur bei Netscape funktioniert? Der IE leitet nicht weiter. Wißt Ihr vielleicht weiter?
Danke
Oliver
Hi Oliver
Korrigiere mal in <form onsubmit="return=bestaetigen();">
<input type=submit value="Bestellen!" onClick = "return(bestaetigen());">
Viele Grüße
Antje
Hallo Antje, hallo Alexander,
Korrigiere mal in <form onsubmit="return=bestaetigen();">
wenn ich dies mache, schaft auch Netscape die Weiterleitung nicht mehr. Mit der Zeile
<input type=submit value="Bestellen!" onClick = "return bestaetigen();">
hingegen zeigt NS die neue Seite an, verschickt aber nicht die Mail, bei IE ist es umgekehrt, Mail wird geschickt, Weiterleitung klappt nicht.
Hier noch mal der Form-Tag:
<form name = "bestellung" action="mailto:oliverhuber@yahoo.com" enctype="text/plain" method="post">
Kann es sein, daß durch den Funkionsteil
if(eingabe == true){
window.location.href="bestaetigung.html";
return true;
}
Weiterleitung und Rückgabe sich irgendwie blockieren?
Vielleicht fällt euch ja etwas ein, schon mal Danke jedenfalls.
Gruß
Oliver
Hall0 Oliver
<input type=submit value="Bestellen!" onClick = "return bestaetigen();">
hm, mein Fehler, hinter return kein Gleichheitszeichen machen, dein Problem liegt aber wo anders.
hingegen zeigt NS die neue Seite an, verschickt aber nicht die Mail, bei IE ist es umgekehrt, Mail wird geschickt, Weiterleitung klappt nicht.
<form name = "bestellung" action="mailto:oliverhuber@yahoo.com" enctype="text/plain" method="post">
Dein Problem ist das action, mailto ist eine unsichere Sache. Z.B. übernimmt mein Mailprogramm nie die Formularinhalte.
In deinem Fall überschreiben sich die Aufrufe tatsächlich gegenseitig.
Abhilfe:
if(eingabe == true){
setTimeout('window.location.href="bestaetigung.html"',3000);
return true;
}
du verzögerst also die Anzeige um rund 3 Sekunden. Vielleicht gestattest du einen Rat. Verwende falls irgend möglich nicht mailto als action. Suche dir lieber einen Anbieter der den Mailversand für dich erledigt. Auf den Linkseiten von SELFAKTUELL bzw. in der Auslese findest du einige Anlaufadressen.
Viele Grüße
Antje
Hallo Antje,
Dein Problem ist das action, mailto ist eine unsichere Sache. Z.B. übernimmt mein Mailprogramm nie die Formularinhalte.
Ich hatte das ganze zuerst schön sauber mit dem PerlModul Net::SMTP gelöst, dann durfte ich aber beim auftraggeber keine zusätzlichen module installieren, yippieh ;)
In deinem Fall überschreiben sich die Aufrufe tatsächlich gegenseitig.
Abhilfe:
»» if(eingabe == true){
»» setTimeout('window.location.href="bestaetigung.html"',3000);
»» return true;
}
Funktioniert einwandfrei, vielen Dank.
du verzögerst also die Anzeige um rund 3 Sekunden. Vielleicht gestattest du einen Rat. Verwende falls irgend möglich nicht mailto als action. Suche dir lieber einen Anbieter der den Mailversand für dich erledigt. Auf den Linkseiten von SELFAKTUELL bzw. in der Auslese findest du einige Anlaufadressen.
Auch hier gab es Einschränkungen "Wir wollen alles im haus behalten". Nun denn, die lösung schließt wahrscheinlich 20 % der nutzer aus, aber der kunde ist halt königlich ;)
Nochmals Danke und schöne Grüße aus München
Oliver
Hallo Oliver!
<input type=submit value="Bestellen!" onClick = "return(bestaetigen());">
Lass einfach mal die Klammern beim return weg, dann müßte es funktionieren also: <input type=submit value="Bestellen!" onClick = "return bestaetigen();">