aktivera javascript genom url?

Avdelningen för webbrelaterad programmering och grafisk design.
Post Reply
User avatar
ADiS
Posts: 5732
Joined: 2003-04-04 22:24:03
Location: Gävle
Contact:

aktivera javascript genom url?

Post by ADiS »

Visst fan går det?

detta är en länk:
javascript:merinfo.slideit()

denna klicklänk skulle jag vilja ha med i url-länken, how?
http://www.buildlog.eu - Din egna bygglogg på nätet
User avatar
stealth
Hedersbit
Posts: 3364
Joined: 2003-03-11 13:33:10
Location: Göteborg
Contact:

Post by stealth »

URl-länken, måste du det? Det är väl bara att använda onclick?
Grundare av webbyrån We made you look http://wemadeyoulook.at
User avatar
Ramza
Posts: 2002
Joined: 2002-10-03 20:35:40
Location: Göteborg
Contact:

Post by Ramza »

Det går, ja. Det är absurt fult dock.

Men tänk på att det första uttrycket kommer vara det enda som evalueras, såvida det inte returnerar 'true'.
"Liksom Giraffen har lång hals kan man inte svänga vänster med ett kylskåp"
User avatar
ADiS
Posts: 5732
Joined: 2003-04-04 22:24:03
Location: Gävle
Contact:

Post by ADiS »

Meningen är att jag vill att denna slideruta skall öppnas automatiskt om man returneras eftersom annars måste man klicka ner den själv.
http://www.buildlog.eu - Din egna bygglogg på nätet
User avatar
stealth
Hedersbit
Posts: 3364
Joined: 2003-03-11 13:33:10
Location: Göteborg
Contact:

Post by stealth »

Alltså, med URl-länken menar du:

www.google.se/search.php?q=bla&javascript.slideit(); ?
Grundare av webbyrån We made you look http://wemadeyoulook.at
User avatar
ADiS
Posts: 5732
Joined: 2003-04-04 22:24:03
Location: Gävle
Contact:

Post by ADiS »

Precis

Ex; en form är inte korrekt ifylld. Man skickas iväg men returneras för att fylla i den korrekt.

ahh, kanske bättre att lösa det genom javascript att den säger till att man skall fylla i innan man kan skicka formen.
http://www.buildlog.eu - Din egna bygglogg på nätet
User avatar
Ramza
Posts: 2002
Joined: 2002-10-03 20:35:40
Location: Göteborg
Contact:

Post by Ramza »

Det där skulle jag nog inte påstå att det går att göra utan att göra en fuling.

Du kan inte skicka med "anropskod" som får HTML att köra script-kod. Det hade varit en fruktansvärd säkerhetsrisk. Du kan skicka med GET/POST-data och sedan konstruera ett PHP-script som inkluderar ett anrop i HTML-såsen.

Tex:

Code: Select all

<?PHP
$openSlide = false;
if (isset($_GET['openSlide'])) {
   // Include a onloads-script
   $openSlide = true;
}

// Preprocessing complete
?>
<html>
<head>
   <title>Byggare bob</title>
<? if ($includeOpenslide) { ?>   
      <script type="text/javascript" src="js/openSlide.js"></script>
<? } ?>
</head>
<body>
   <h1>Mina bilder på min hund och mina katter</h1>
   <!-- Hidden element until document.onLoad -->
   <div id="slideElement">Secret Slide content</div>
<body>
</html>
Och sedan är javascriptet enkelt:

Code: Select all

function slideIn() {
   var slideElem = document.getElementById('slideElement');
   // Show the element
   slideElem.setAttribute('display', 'block');
   // .. code for moving the crap
   // animateMove(slideElem);
}

addEvent(window,'load', slideIn);
Det jag skrev det sista där, addEvent, är interop-kod för att skapa eventlisteners i Javascript. Du hittar koden om du söker lite på google.
"Liksom Giraffen har lång hals kan man inte svänga vänster med ett kylskåp"
User avatar
stealth
Hedersbit
Posts: 3364
Joined: 2003-03-11 13:33:10
Location: Göteborg
Contact:

Post by stealth »

Men du kör väl .NET? Finns jue inbyggda sådana validators innan det ens hunnit postbacka?
Grundare av webbyrån We made you look http://wemadeyoulook.at
User avatar
Ramza
Posts: 2002
Joined: 2002-10-03 20:35:40
Location: Göteborg
Contact:

Post by Ramza »

Det finns tillvällen då formen kanske måste valideras på backend-planet. Exempelvis om datan skall kollas med en databas (och man inte vill använda ajax).

Om det räcker med validering på klientsidan rekommenderas du starkt att inte skicka formen förrän all data är korrekt.

Du kan tillämpa mitt exempel i ASP.NET, på ett (kodvis) snyggare sätt än vad det går i PHP.
"Liksom Giraffen har lång hals kan man inte svänga vänster med ett kylskåp"
User avatar
ADiS
Posts: 5732
Joined: 2003-04-04 22:24:03
Location: Gävle
Contact:

Post by ADiS »

Detta projekt bygger på php, kom en bra bit förr med asp.net i detta projekt men gav upp.

Datan i detta fall behöver inte kollas med en databas utan bara skickas in. Jag löste det med AJAX+php. Innan php koden tar in sakerna från formen så tar javascript hand om det. Stämmer allt skickar den vidare det till php. Det är nämligen stjärnor för röstning som jag använder när man för musen över dem. Nu fungerar det, men ont i nacken!!! :(

Skönt, nu slipper man ladda om sidan bara för att man lägger till sitt omdöme.
http://www.buildlog.eu - Din egna bygglogg på nätet
User avatar
madr
Posts: 998
Joined: 2004-08-24 11:12:39
Contact:

Post by madr »

Gör tvärtom istället. Skicka det med javascript, och validera på serversidan med php. Det gör att du aldrig lämnar sidan och enkelt kan rödmarkera (eller liknande) de inmatningsfält som är felaktigt ifyllda.

Annars står ditt php-script med blottad röv när folk slår av javascript i sin webbläsare.
antlion: 3,2 GHz i7 | 32GB | 180GB+120GB SSD SATA III | 2TB SATA III | Dell u2410 | GF 5600ti Arch linux + Win 7
User avatar
ADiS
Posts: 5732
Joined: 2003-04-04 22:24:03
Location: Gävle
Contact:

Post by ADiS »

Men det är just så jag menade :) Sidan laddas aldrig om.

men sen kommer man till frågan varför vill man inte ha javascript på, visst förstår jag vissa mobila enheter som inte har stöd för det.

Har man inte på javascript så skall man heller inte kunna ta del av sidan/sidans funktioner ;)
http://www.buildlog.eu - Din egna bygglogg på nätet
User avatar
Ramza
Posts: 2002
Joined: 2002-10-03 20:35:40
Location: Göteborg
Contact:

Post by Ramza »

madr wrote:Gör tvärtom istället. Skicka det med javascript, och validera på serversidan med php. Det gör att du aldrig lämnar sidan och enkelt kan rödmarkera (eller liknande) de inmatningsfält som är felaktigt ifyllda.

Annars står ditt php-script med blottad röv när folk slår av javascript i sin webbläsare.
Jag förstår inte vad du menar. Hur skulle din PHP vara blottad?
"Liksom Giraffen har lång hals kan man inte svänga vänster med ett kylskåp"
User avatar
stealth
Hedersbit
Posts: 3364
Joined: 2003-03-11 13:33:10
Location: Göteborg
Contact:

Post by stealth »

Ramza wrote:Jag förstår inte vad du menar. Hur skulle din PHP vara blottad?
JamenduvetAjaxärförtöntarsomvillblihakkade!!!11
Grundare av webbyrån We made you look http://wemadeyoulook.at
User avatar
ADiS
Posts: 5732
Joined: 2003-04-04 22:24:03
Location: Gävle
Contact:

Post by ADiS »

Istället för att skapa ny tråd så frågar jag här.

Att använda upload på sidan med hjälp av AJAX är gudomligt. Men vad händer om användaren inte har javascript aktiverat?

Då kanske man kan köra <noscript> och uppmana användaren att aktivera eller så låter man något som kollar om j.s är aktiverat, om inte så får man fram en upload i form av direkt php.
http://www.buildlog.eu - Din egna bygglogg på nätet
User avatar
Ramza
Posts: 2002
Joined: 2002-10-03 20:35:40
Location: Göteborg
Contact:

Post by Ramza »

Börja med att göra versionen utan javascript. Sedan lägger du på javascript som wrappar submit-knappen och tar hand om sändningen.
"Liksom Giraffen har lång hals kan man inte svänga vänster med ett kylskåp"
User avatar
ADiS
Posts: 5732
Joined: 2003-04-04 22:24:03
Location: Gävle
Contact:

Post by ADiS »

Laddar inte sidan om då? kanske missförstår dig bara.
http://www.buildlog.eu - Din egna bygglogg på nätet
User avatar
Ramza
Posts: 2002
Joined: 2002-10-03 20:35:40
Location: Göteborg
Contact:

Post by Ramza »

Självklart inte, då du fångar eventet med javascript.
"Liksom Giraffen har lång hals kan man inte svänga vänster med ett kylskåp"
User avatar
madr
Posts: 998
Joined: 2004-08-24 11:12:39
Contact:

Post by madr »

Ramza wrote:
madr wrote:Gör tvärtom istället. Skicka det med javascript, och validera på serversidan med php. Det gör att du aldrig lämnar sidan och enkelt kan rödmarkera (eller liknande) de inmatningsfält som är felaktigt ifyllda.

Annars står ditt php-script med blottad röv när folk slår av javascript i sin webbläsare.
Jag förstår inte vad du menar. Hur skulle din PHP vara blottad?
Jag fick intrycket av att författare inte skulle ha inputvalidering alls på php-sidan utan sköta valideringen enbart på klientsidan. Om så varit fallet - jag kan såklart ha misstolkat - skulle det inte bli trevligt de gånger javascript (ch därmed inputvalideringen) var avslaget.
antlion: 3,2 GHz i7 | 32GB | 180GB+120GB SSD SATA III | 2TB SATA III | Dell u2410 | GF 5600ti Arch linux + Win 7
User avatar
Ramza
Posts: 2002
Joined: 2002-10-03 20:35:40
Location: Göteborg
Contact:

Post by Ramza »

I detta fall skulle därför server-valideringen även kontrollera det som klient-validering senare kommer att göra. Detta beror på, som ni alla vet, att man aldrig kan lita på att informationen som skickas inte har blivit manipulerad.

Klient-validering gör vi inte av säkerhetsskäl; vi gör det för att nå en högre användarvänlighet.
"Liksom Giraffen har lång hals kan man inte svänga vänster med ett kylskåp"
User avatar
stealth
Hedersbit
Posts: 3364
Joined: 2003-03-11 13:33:10
Location: Göteborg
Contact:

Post by stealth »

Ramza wrote:... vi gör det för att nå en högre användarvänlighet.
Exakt.
Grundare av webbyrån We made you look http://wemadeyoulook.at
Post Reply