Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man visar bekräftelsefönster för navigering för formulär i WordPress

Det finns inget mer frustrerande än att fylla i ett WordPress-formulär, bara för att av misstag trycka på bakåtknappen och förlora allt. Vi har alla varit där – och det räcker oftast för att någon ska ge upp direkt.

För webbplatsägare kan den lilla missen innebära förlorad försäljning och färre registreringar. Besökare kommer att lämna irriterade och är mycket mindre benägna att komma tillbaka och försöka igen.

De goda nyheterna? Det finns en enkel lösning: en popup för bekräftelse av navigering. Denna enkla varning ger användarna en andra chans innan de lämnar en sida med ett ej inskickat formulär.

I den här guiden visar vi hur du lägger till den här funktionen i dina WordPress-formulär så att du kan skapa en smidigare upplevelse och öka dina formulärslutförandefrekvenser.

Bekräfta navigeringspopup när användaren lämnar ett formulär osänt

🧑‍🏫 Sammanfattning: Det enklaste sättet att lägga till en bekräftelsepopup för navigering till dina formulär är genom att skapa ett enkelt anpassat plugin. Detta innebär att lägga till ett PHP-avsnitt och ett JavaScript-avsnitt, som båda tillhandahålls steg-för-steg i den här guiden.

Vad är en bekräftelse-navigeringspopup och varför behöver du den?

En bekräftelse-navigeringspopup är en varning i webbläsaren som visas när en användare med osparade ändringar i ett formulär försöker lämna en webbsida.

Du har förmodligen sett den här funktionen i aktion på skärmen för WordPress innehållsredigerare. Om du har osparade ändringar och försöker lämna sidan, visas en varningspopup för att förhindra att du förlorar ditt arbete.

Varning för osparade ändringar popup i WordPress-inläggsredigeraren

Att lägga till detta i dina egna formulär är en liten förändring med stora fördelar:

  • Förbättrar användarupplevelsen: Det sparar besökare från frustrationen att oavsiktligt förlora sina framsteg, vilket visar att du värdesätter deras tid.
  • Ökar konverteringsgraden: Genom att förhindra oavsiktlig avslutning ger du användarna en andra chans att slutföra formuläret, vilket kan öka antalet leads.
  • Bygger användarnas förtroende: En genomtänkt funktion som denna visar professionalism och omsorg, vilket kan bidra till att bygga lojalitet och uppmuntra till återbesök.

Med det i åtanke, låt oss lägga till denna varning till dina WordPress-kommentarer och andra formulär på din webbplats.

Här är allt vi kommer att gå igenom i den här guiden:

Redo? Låt oss börja.

Metod 1: Visa popup för bekräftelse av navigering för ej inskickade formulär i WordPress

Denna metod innebär att skapa ett enkelt, anpassat plugin.

Oroa dig inte om du aldrig har kodat tidigare! Vi guidar dig genom varje steg i processen, och det är ett utmärkt sätt att se hur WordPress-plugins fungerar.

Dessutom kan du också ladda ner pluginet i slutet av den här handledningen för att installera det på din webbplats.

Vi rekommenderar dock starkt att du skapar pluginet själv för att bättre förstå hur koden fungerar. Du kan följa med på en lokal installation eller staging-webbplats först.

Först måste du skapa en ny mapp på din dator och namnge den confirm-leaving. Inuti mappen confirm-leaving skapar du en annan mapp och namnger den js.

Nu, låt oss öppna en vanlig textredigerare som Anteckningar och skapa en ny fil. Klistra helt enkelt in följande kod inuti:

<?php
/**
 * Confirm Leaving
 * Plugin Name: Confirm Leaving
 * Plugin URI:  https://014.leahstevensyj.workers.dev
 * Description: This plugin shows a warning to users when try they forget to hit submit button on a comment form.
 * Version:     1.0.0
 * Author:      WPBeginner
 * Author URI:  https://014.leahstevensyj.workers.dev
 * License:     GPL-2.0+
 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
 */

function wpb_confirm_leaving_js() { 

     wp_enqueue_script( 'Confirm Leaving', plugins_url( 'js/confirm-leaving.js', __FILE__ ), array('jquery'), '1.0.0', true );
}
add_action('wp_enqueue_scripts', 'wpb_confirm_leaving_js');

Denna PHP-funktion använder wp_enqueue_script, vilket är den officiella WordPress-metoden för att lägga till JavaScript. Detta är bästa praxis eftersom det hjälper till att förhindra skriptkonflikter med andra plugins.

Spara nu den här filen som confirm-leaving.php inuti huvudmappen confirm-leaving.

Nu behöver vi skapa JavaScript-filen som detta plugin laddar. Du kan göra detta genom att skapa en ny fil i din textredigerare och klistra in den här koden i den:

jQuery(document).ready(function($) { 
 
$(document).ready(function() {
    needToConfirm = false;
    window.onbeforeunload = askConfirm;
});
 
function askConfirm() {
    if (needToConfirm) {
        // Put your custom message here
        return "Your unsaved data will be lost.";
    }
}
 
$("#commentform").change(function() {
    needToConfirm = true;
});
 
 })

Denna JavaScript upptäcker om en användare har börjat fylla i kommentarsformuläret. Om de försöker lämna sidan innan de skickar in, utlöses varningspopupen.

Spara filen som confirm-leaving.js i mappen js som du skapade tidigare.

Efter att ha sparat båda filerna, bör din mappstruktur se ut så här:

Plugin-filstruktur

Nu måste du ansluta till din WordPress-webbplats med en FTP-klient. För steg-för-steg-instruktioner kan du se vår guide om hur man använder FTP för att ladda upp WordPress-filer.

När du är ansluten måste du ladda upp mappen confirm-leaving till mappen /wp-contents/plugins/ på din webbplats.

Ladda upp plugin-filer till din WordPress-webbplats

Därefter vill du logga in i WordPress administratörsområde och gå till 'Plugins'.

Härifrån bör du se pluginet 'Confirm Leaving' i listan över installerade plugins. Du kan sedan klicka på länken 'aktivera' under det.

Aktivera plugin

Det var allt. Du kan nu besöka vilket inlägg som helst på din webbplats, skriva något i kommentarsformuläret och sedan försöka lämna sidan.

Sedan kommer en popup att visas som varnar dig för att du har osparade ändringar.

Popup-meddelande som varnar användaren om osparade ändringar

Av säkerhetsskäl kommer moderna webbläsare att visa sitt eget generiska varningsmeddelande (som "Lämna webbplatsen? Ändringar du har gjort kanske inte sparas.") istället för den anpassade texten från koden. Kodens syfte är helt enkelt att utlösa denna standardprompt i webbläsaren.

Metod 2: Lägg till varningspopupen till andra formulär på din WordPress-webbplats

Du kan använda samma kod för att rikta in dig på andra formulär på din WordPress-webbplats, till exempel ett kontaktformulär.

I det här exemplet riktar vi oss mot ett formulär skapat med pluginet WPForms, men dessa steg fungerar även om du använder ett annat kontaktformulärsplugin på din webbplats.

Har du inget kontaktformulär och vill skapa ett? Då kan du kolla in vår guide om hur man skapar ett kontaktformulär.

En kontaktformulärmall

På WPBeginner använder vi WPForms för att bädda in många olika formulär, inklusive vårt kontaktformulär, årliga läsarundersökning och migrationsförfrågningar. Om du är nyfiken på verktyget och vad det kan göra, kan du gå till vår kompletta WPForms-recension.

Det första du ska göra är att gå till sidan där du har bäddat in ditt kontaktformulär.

Sedan för du musen över det första fältet i ditt kontaktformulär, högerklickar och väljer sedan 'Inspektera' från webbläsarens meny.

Hitta formulär-ID

Härifrån vill du lokalisera raden som börjar med taggen <form> för att hitta ID-attributet. I det här exemplet är vårt formulärs ID wpforms-form-170.

När du har hittat taggen, kopiera attributet ID.

Öppna nu din confirm-leaving.js -fil för att redigera jQuery-väljaren. Du måste lägga till ditt formulärs ID direkt efter #commentform, separerat med ett kommatecken. Se till att lägga till ett # prefix till ditt nya ID, precis som kommentarsformuläret har.

Din kod kommer nu att se ut så här:

jQuery(document).ready(function($) { 
 
$(document).ready(function() {
    needToConfirm = false;
    window.onbeforeunload = askConfirm;
});
 
function askConfirm() {
    if (needToConfirm) {
        // Put your custom message here
        return "Your unsaved data will be lost.";
    }
}
 
$("#commentform,#wpforms-form-170").change(function() {
    needToConfirm = true;
});
 
 })

Om allt ser bra ut kan du spara dina ändringar i filen confirm-leaving.js och ladda upp den tillbaka till din server och skriva över den gamla filen.

Nu kan du ange valfri text i vilket fält som helst i ditt kontaktformulär och sedan försöka lämna sidan utan att skicka formuläret. Ett popup-fönster visas med en varning om att du har osparade ändringar.

📥 Plugin-nedladdning: Du kan ladda ner pluginet confirm-leaving här, installera och aktivera sedan pluginet som vanligt. Om du behöver hjälp kan du gå igenom vår guide om hur man installerar ett WordPress-plugin.

Notera att den riktar sig till kommentarsformuläret, men du kan redigera pluginet för att rikta in dig på ditt användarregistreringsformulär, enkäter, feedbackformulär, jobbansökningsformulär, eller andra formulär.

Sluta tappa potentiella kunder från övergivna formulär

WPForms

WPForms gör det enkelt att skapa kraftfulla formulär för din webbplats. Dessutom levereras det med inbyggd spårning av formuläravhopp, så att du exakt kan se var användare hoppar av och följa upp för att återhämta förlorade leads.

Bonus: Förbättra prestandan för dina WordPress-formulär

Efter att du har lagt till bekräftelse-navigeringspopupen är det en bra idé att spåra hur ofta användare överger sina formulär. Att känna till dessa data kan hjälpa dig att hitta och åtgärda problem som får folk att lämna.

Ett av de bästa verktygen för att spåra formuläravhopp är MonsterInsights. Det är det bästa Google Analytics-pluginet för WordPress. Dess Forms-tillägg (tillgängligt i Pro-versionen) gör det enkelt att automatiskt spåra formulärvisningar och inskickningar.

På så sätt kan du se hur användare interagerar med dina formulär direkt från din instrumentpanel.

MonsterInsights hemsida

På WPBeginner använder vi MonsterInsights för att spåra alla våra viktiga konverteringar, inklusive formulär, knappar och affiliate-länkar. Läs vår kompletta MonsterInsights-recension för att lära dig om alla dess funktioner.

För mer information, se vår guide om hur man spårar och minskar övergivna formulär.

Du kan också köra A/B-tester för att se vilken version av ditt formulär som presterar bättre. Du kan till exempel testa olika formulärstilar eller knapptexter för att se vad som uppmuntrar till fler slutföranden.

Redigera din variant

Till exempel kan du ändra formuleringen i din bekräftelsedialogruta för navigering eller anpassa ditt formulär. Genom att analysera resultaten kan du avgöra vad som håller användarna engagerade och hjälper till att minska avhoppsfrekvensen.

Thrive Optimize är det bästa pluginet för denna uppgift. Det låter dig köra A/B-delningstester enkelt utan någon kodning.

För att lära dig mer, se vår guide om hur man gör A/B-split-testning i WordPress.

Vanliga frågor om bekräftelse-navigeringspopups

Kommer tillägget av denna kod att sakta ner min webbplats?

Nej, inte alls. JavaScript-koden är mycket lättviktig och körs bara när en användare försöker lämna en sida med ett ändrat formulär. Det kommer inte att ha någon märkbar inverkan på din webbplats prestanda.

Kan jag ändra meddelandet i bekräftelsepopupen?

Tyvärr, nej. Av säkerhetsskäl tillåter moderna webbläsare inte längre webbplatser att visa ett anpassat meddelande i bekräftelsepopupen. De kommer alltid att visa en generell, standardvarning till användaren.

Fungerar denna bekräftelsepopup på mobilwebbläsare?

Ja, händelsen onbeforeunload stöds av de flesta moderna mobilwebbläsare, inklusive Chrome och Safari på både Android och iOS. Beteendet kommer att vara detsamma som på en stationär dator.

Ytterligare guider för att använda WordPress-formulär

Vi hoppas att den här artikeln hjälpte dig att visa popup-fönstret för bekräftelse av navigering för dina WordPress-formulär.

Du kanske också vill kolla in dessa andra guider och experttips:

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

19 CommentsLeave a Reply

  1. Försökte använda din kod i bbpress-forumet. Tyvärr visas ingen popup-meddelande efter att användaren inte har publicerat sin kommentar. Försökte alla variationer av att ändra id i JS-filen men fortfarande visas ingenting.

  2. Som en fortsättning på min tidigare fråga har jag nu försökt använda formulärets överordnade div-ID och modifierat koden. Detta fungerar nästan men...

    Texten som visas i popup-fönstret är inte den text som anges i koden.

    Även om formuläret är ifyllt och skickat, leder navigering till en annan sida fortfarande till varningen.

    Hur kan jag lösa detta?

  3. Har provat detta vvvvv utan framgång. Arbetar med Gravity Forms. Allt annat fungerar bra, men varningen visas fortfarande när man trycker på skicka-knappen på ett ifyllt formulär. Några råd?

    WPBeginner Support
    27 nov 2016 kl. 06:52

    Hej Bonnie,

    Vi testade pluginet med WPForms och det fungerade. Du måste redigera filen confirm-leaving.js och ersätta #commentform med WPForms container div id. Vanligtvis är det wpforms-12 där 12 är ID för ditt formulär. Du kan också se det med hjälp av verktyget inspektera element i din webbläsare.

    • Jag försöker fortfarande lista ut hur jag ska se till att popup-fönstret INTE visas när användaren trycker på "Skicka"-knappen. Popup-fönstret för att bekräfta att man lämnar sidan bör inte visas om användaren har angett all information som krävs, men den här koden gör att det dyker upp varje gång.

      Jag skulle verkligen uppskatta hjälpen om det finns en lösning.

  4. Jag behöver samma funktion när någon navigerar från en specifik sida på webbplatsen och när de klickar på stanna, måste de navigera till webbplatsens startsida.

    väntar på svar.

  5. Jag är så glad för din underbara kod för bekräftelse av navigering! Jag behöver den desperat eftersom många av mina klienters användare inte kan förstå att de måste trycka på "Skicka"-knappen på formuläret.

    Koden fungerar perfekt, förutom ett problem. När jag trycker på "Skicka"-knappen på mitt WPForms-formulär, dyker bekräftelsefönstret för navigering upp. Jag skulle vilja att "bekräftelse av navigering" bara sker när användaren inte trycker på "Skicka"-knappen. Jag kan inte lista ut hur jag ska göra detta. Kan du hjälpa mig?

    • Hej Bonnie,

      Vi testade pluginet med WPForms och det fungerade. Du måste redigera filen confirm-leaving.js och ersätta #commentform med WPForms container div id. Vanligtvis är det wpforms-12 där 12 är ID för ditt formulär. Du kan också se det med hjälp av verktyget inspektera element i din webbläsare.

      Admin

  6. Jag har två separata flersidiga Gravity Forms på min webbplats. När detta plugin är aktivt får jag en bekräftelsedialogruta när jag klickar på "Nästa steg" på ett av formulären (oönskat), men inte på det andra. Är du medveten om några problem med Gravity Forms och "window.onbeforeunload"? Tack

      • Jag använder koden för buddy-press flerstegs skapande av grupp från. Det fungerar bra förutom att när jag klickar på nästa steg-knappen eller spara-knappen visas samma varning.
        Jag använder formulär-ID:t “#create-group-form” istället för #commentform

  7. Hej, trevligt inlägg!

    Det hjälpte mycket. Men din lösning fungerar inte när man är inloggad. Den fungerar bara för användare som fyller i formuläret och är utloggade. Jag behöver att den fungerar även för inloggade användare, snälla!
    Kan du ge en lösning för det?

    Tack.

    • Tyvärr fungerar det faktiskt när du skapar pluginet. Först gjorde jag det bara genom att skicka JS till sidan jag ville ha utan att skapa pluginet, eftersom jag inte ville att skriptet skulle laddas på alla sidor på min webbplats.

  8. Hej

    Contact Form 7 använder inte ett ID i sitt formulär, hur kan jag få detta att fungera?

    • Contact Form 7 använder ett ID med alla formulär. Raden som innehåller formulär-ID kommer att se ut ungefär så här:

      <div role="form" class="wpcf7" id="wpcf7-f85-p11-o1" lang="en-US" dir="ltr">
      

      I det här exemplet är formulärets ID-attribut wpcf7-f85-p11-o1. Hoppas detta hjälper.

      Admin

  9. Jag har två problem. Ett, jag får dessa popup-fönster i min e-post hela tiden, det är irriterande. Jag är 89 år gammal, därför lite kort i tålamodet och jag börjar använda min pekare för att snabbt träffa andra saker, så jag hamnar i många problem. Två – gissa (jag vet) jag har för många cookies säger de. Vad är cookies – hur eliminerar jag dem? Vad menar du med att prenumerera utan att kommentera. Jag föredrar e-post. O.K.. till personlig och meningsfull konversation.

    • Fungerar Pop Ups på samma sätt för e-post som för WordPress för borttagning?

        • Safari sa att jag inte kunde komma in eftersom jag hade för många cookies. Under tiden var jag på min e-post och pop-ups kom upp, medan de på min e-post alltid dyker upp. Jag gick till Google och bad om hjälp med cookies och pop-ups och fick många att välja mellan. Nu har WordPress kommit in här, vad är WordPress. Jag kommer inte att skriva en bok, jag BEHÖVER BARA HJÄLP. Svara via e-post. Jag stänger av dig nu, jag är verkligen trött nu.

      • Jag väntar på ditt svar via e-post eftersom jag är trött så jag stänger av nu.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.