PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beim Verlassen der Site nachfragen...


andreas_h
12.10.2009, 14:38:38
Grüßt euch,

ich bin in sachen javascript eigentlich ein totaler neuling. folgende ausgangssituation:

Ich hab eine Landingpage erstellt mit paar Infos und einem Formular. Da waren jetzt ca. 100 Personen drauf und nur wenige haben das Formular ausgefüllt. Das kann viele Gründe haben... Gründe die ich nicht kenne, aber die ich gerne kennen würde :) deswegen dachte ich an eine art feedback formular, das beim verlassen der seite aufgerufen wird.

wie komm ich jetzt darauf?! bei meinem webmail programm (seite zum abrufen von emails) wird mir ein "alert" ausgegeben falls ich die seite verlasse (z.B. bei klick auf den ordner oder verlassen der mail). klick ich auf "ok" verlass ich die seite, klick ich auf "abbrechen" passiert nichts und ich kann die email weiterschreiben.

nun zum plan: ist es möglich sowas auch für die landingpage zu erstellen nur das ich dann beim alert sage: "sie sind dabei unsere seite zu verlassen. bitte nehmen sie sich 1 minute zeit um ..." Ja / Nein. Bei Ja soll per ajax framework (jquery) das feedback formular nach geladen werden. das geht mit dem befehl:

$("a.feedbacklink").click(function(){
$.get("formular.php", function(text){
$(".ajax_content").html(text);
});
});

mir ist klar das es dann nicht a.feedbacklink.click(function heißen muss aber das soll mich nicht daran abhalten mal das manual davon aufzuschlagen und zu suchen. die frage ist nun nur, wie kann ich das implementieren?

Gruß & vielen Dank
a-ha

cortex
12.10.2009, 17:34:07
das lässt sich per js mit dem event-handler onunload (http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onunload) lösen.

zur idee an sich: imho wird sich niemand die zeit nehmen, irgendwelche formulare auszufüllen, wenn die seite nicht den erwartungen entspricht. das netz ist ein schnelles medium und funktioniert nicht so, wie du dir das vorstellst. wenn du es nicht schaffst, die leute durch an- und entsprechende inhalte zu halten... passé.

darüber hinaus wirst du deine (zufälligen) besucher verärgern, da du eine zusätzliche barriere einbaust. wenn jemand eine seite verlassen möchte, wird er einen grund haben. meine persönliche meinung: gott sei dank gibts noscript.

cx

andreas_h
12.10.2009, 19:02:41
stimmt auch irgendwo :) das man sich so nen schlechten ruf macht - naja dumm gelaufen. ist schließlich nichts regionales. die gehn dann eben auf google und klicken den nächsten konkurenten an und werden dich eh nie wieder sehen oder was von dir hören... :)

ist aber bestimmt auch für andere sachen ganz nützlich son onunload feedback skript. deswegen: wie kann ich das onunload= mit ner eingabeaufforderung versehen, sodass bei einem klick auf "ja" der vorgang unterbrochen und das formular nachgeladen wird und bei "nein" er dann eben die seite doch verlässt...?!

auch wenn ich jquery nun einigermaßen gut verstehe und einsetzen kann so gilt dies noch lange nicht für javascript im allgemeinen >;-)

vielen dank.
a-ha

cortex
13.10.2009, 10:20:16
wie kann ich das onunload= mit ner eingabeaufforderung versehen, sodass bei einem klick auf "ja" der vorgang unterbrochen und das formular nachgeladen wird und bei "nein" er dann eben die seite doch verlässt...?!

nicht dass ich grosse erfahrungen mit js hätte, aber ich würde es so versuchen: onUnload ruft eine js-Funktion auf, welche via ajax-request die gewünschten inhalte - in deinem fall zuerst die ja-nein-abfrage, dann ggfs. das feedback-formular - nachlädt. ajax lässt sich mit jquery recht komfortabel abhandeln...

cx

andreas_h
13.10.2009, 20:52:35
wie krieg ich die seite dazu sich nicht zu schließen?! das nachladen einer php datei funktioniert aber was bringt mir ein feedback formular wenns paar msec später weg ist... ;(

bei meinem email proggy funzt es doch auch... da kommt ne abfrage und nur wenn ich auf ja (=ja trotzdem schließlen ohne zu versenden) klicke gehts zu.

die abfrage krieg ich mit nem window.confirm('feedback geben?'); hin. aber was schreib ich in den case für "nein" rein, das es nicht zu geht?

trueleader
19.10.2009, 10:43:07
Ich weiss nicht, ob es für das onunload Event auch funktioniert:

Wenn du in einem Formular das abschicken in bestimmten Situationen verhinden willst, dann muss der "onSubmit" Handler ein "false" zurückliefern. Mit einem Link geht das auch:

<a href="http://www.google.de" onclick="return false;">google geht nicht</a>

wird bei einem Klick nichts machen