JavaScript >> Javascript tutorial >  >> Tags >> PHP

Hvordan omdirigerer man til en anden side i php ved knapklik?

Problem
Jeg bygger en form for interaktiv menu ved hjælp af PHP, HTML og JavaScript. Jeg skal omdirigere siden ved klik til en URL. Det prøvede følgende kode, men det virker ikke:

" />
Hvad er der galt med min kode?

Løsning
Grundårsagen til problemet er, at du forsøger at kalde PHP (server-side) kode fra JavaScript (klientsiden). Når JavaScript virker – PHP (server-side-koden) eksisterer ikke. Det kan kun kaldes under gengivelsessiden på serversiden. For at komme tilbage til det oprindelige problemkodeeksempel, sætningen:

vil forårsage en JavaScript-fejl, da det ikke er et gyldigt JavaScript. Hvad du kan gøre? I tilfælde af at "Start"-knappen altid skulle omdirigere til start.php, kan du omdirigere browseren til den statiske URL, sådan:

Markup

Start
JavaScript

var btn =document.getElementById('btnStart');
btn.addEventListener('klik', funktion() {
document.location.href ='start.php';
});
En anden tilgang vil være at bruge inline JavaScript

Start
Hvis URL'en er dynamisk - det er op til serveren at beslutte, hvad der skal være omdirigerings-URL'en, vil den inline-tilgang være nemmere at implementere:

’”>Start
Denne teknik kaldet inline PHP, serveren vil generere output, browseren vil modtage følgende linje:

Start
Du kan også bruge inline PHP i JavaScript-sektionen (det første eksempel):

Markup

Start
JavaScript

var btn =document.getElementById('btnStart');
btn.addEventListener('klik', funktion() {
document.location.href ='';
});
Tip:
Der er en genvej til i stedet for. For eksempel:

'">Start
Så der er flere måder at omdirigere sider fra klientsiden, vælg den du bedst kan lide.