Just nu i M3-nätverket
Gå till innehåll
jan-erik

js-variable till url

Rekommendera Poster

Om jag i en js-funktion har en variable jsvar, kan jag då i samma funktion skapa en ny url med jsvar som parameter?

alltså nåt i stil med:

 

document.write('<a href="p2.php?flt=jsvar"></a>');

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

tack så väldigt mycket, Moon! Det blir poäng.

 

Skulle du oxå kunna hinta mej hur jag ska göra för att jag i samma funktion ska få jsvar att bli en php-variable?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Det kan du inte göra i en javscriptfunktion. Du måste skilja på var javascript och php körs. PHP körs på servern och javascript i webbläsaren. För att hämta data som skickats via URL:en som du nu gjort använder du på server-sidan/php variabeln $_GET["flt"] för att hämta värdet som jsvar hade när den låg i webbläsaren och som du infogade i din querystring (querystring är allt som kommer efter ? i url:en).

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Du har ju querystring-variabeln flt som innehåller värdet.

Då kan du ju bara ta emot det på sidan med $_GET['flt'].

 

Eller missuppfattar jag dig?

 

OT: Vad snabb du var idag Anjuna, trodde inte du var så "tränade"... ;)

 

[inlägget ändrat 2008-02-04 15:03:57 av Micke_skane]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Ni kommer att bli poängade båda när detta funkar. Jag har förstått vad ni menad med att skpa GET-variabler med hjälp av en querystring, och har nu följnade funktion:

 

<script type="text/javascript">
function onsbm(ntxt,mix1)
 {  
 alert (mix1+ntxt);
 document.write('<a href="onsbm2.php?flt='+mix1+ntxt+'">forts</a>');
 }
</script> 

 

Alerten ligger där för att jag skall kolla att jag får in mina variabler. Jag har som ni ser två variabler, och har valt att slå ihop dessa, även om det givetvis skulle gå att ta dom var för sig. Jag har kollat att jag får in värdena i onsbm2 precis som förväntat.

 

Men, jag vill ju att detta ska göras utan att jag behöver skicka en gång till, dvs jag vill ju inte ha upp länken "forts". Och man kan tydligen inte bara skippa texten. Hur löser man detta?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Du menar att funktionen ska göra så att onsbm2.php?flt='+mix1+ntxt+ ska visas i webbläsaren!?

 

Ändra då till:

function onsbm(ntxt,mix1)   {  
if(ntxt&&mix1) {
var konStr=ntxt+mix1;
window.location="onsbm2.php?flt="+konStr;
}
}

 

[inlägget ändrat 2008-02-04 17:37:08 av Micke_skane]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Faktum är att jag arbetar mig fram bit för bit, och har ganska klart för mig både vad jag vill och vad jag gör. Men just nu är det en massa lösa trådändar som en följd av allt experimenterande, och jag är helt enkelt inte i stånd att ge er en kod som är begriplig. Men om jag nu bara får fixat detta med länken så vet jag hur jag ska skyffla över alla mina variabler till onsbm2, och då är det dags att storstäda o plocka ut dom bitar jag ska behålla. och då ska ni få se!

Faktum är att jag inte tror det är några fler hinder på vägen nu efter tipset om window.location!

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

trodde det var öppna gatan, men det verkar som om onsbm2 inte kommer med riktigt. Det är skälogen enkelt, ser ut så här:

 

<? 
echo '********************************';
$flt = $_GET["flt"];
echo "...".$_GET["flt"];
exit;
?>

 

funktionen ser ut så här:

 

<script type="text/javascript">
function onsbm(ntxt,inlnr)   { 

if(ntxt&&inlnr) {
var konStr=inlnr+ntxt;
alert(konStr);
window.location="onsbm2.php?flt="+konStr;
}
}
</script> 

 

alerten visar att ïnlnr och ntxt kommer in precis som dom ska.

 

Men jag får inga som helst livstecken från onsbm2.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Men jag får inga som helst livstecken från onsbm2.

Skriver den inte ens ut raden med asterisker? För koden är korrekt (och jag har tillochmed testat den själv för säkerhetsskull så det inte är några felaktigheter jag missat)

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

nä, faktiskt inga som helst livstecken från onsbm2.php. genom alerten kan kag se att konStr är ok, och det skulle ju inte sppela nån roll för utskrift av astersikraden.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
nä, faktiskt inga som helst livstecken från onsbm2.php

Då är något annat fel på din php-sida. Gå in i Visa->Källkod i din webbläsare och titta hur den ser ut. Ibland göms felmeddelanden där som inte visas i webbläsarfönstret.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
inte ens om jag ändrar i windows location till ett program som inte finns märks det nåt.

Titta i felkonsollen (Firefox) eller dubbelklicka på en eventuell gul triangel i nedre vänstra hörnet (IE) för att se om du har några javascriptfel. Hur ser din exakta js-funktion ut nu?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

<script type="text/javascript">
function onsbm(ntxt,inlnr)   { 
//alert(ntxt);
//alert(inlnr);
if(ntxt&&inlnr) {
var konStr=inlnr+ntxt;
alert(konStr);

window.location="http://www.jea.se/a/onsbm2x.php?flt="+konStr;
}
}
</script> 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

alert(konStr) skriver ut helt rätt, så det verkar ju som om det är rätt så långt. onsbm2x finns uppladdad, och jag har angett hela adressen.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

när jag kör onsbm2x direkt så skriv asteriskerna ut. Så därmed är väl problemet ganska inringat´, i o med att alerten oxå visar rätt?

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Vad får du fram om du testar att skapa en variabel med länken och sen alerta den i din funktion?

 

var strUrl="http://www.jea.se/a/onsbm2x.php?flt="+konStr;
alert(strUrl);

[inlägget ändrat 2008-02-04 19:47:14 av Micke_skane]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

jan-erik: felet ligger i att du lagt anropet till din javascriptfunktion i din onsubmit. Varför gör du det? Vad som än sker där, även om du ändrar window.location, så kommer submit:en att utföras som sista steg och du kommer att sluta på den sida formuläret valt att posta (i ditt fall samma sida som formuläret ligger)

 

Så var det med det =)

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Misstänkte just det att det inte var rätt sida som dök upp och anledningen har du redan fått ;)

 

Har inte alls kollat källkoden i din sida men om du nu tvunget ska använda ett fomulär så lägg inte url:n i formulärets action-tagg och submita det. Formuläret har t ex id="form":

document.getElementById("form").action=strUrl;

[inlägget ändrat 2008-02-04 20:13:33 av Micke_skane]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...