webForumDet fria alternativet

Alternativ till hiddenfield?

7 svar · 233 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Så här skulle man kanske kunna göra(som princip) Finns det något smartare sätt utan att behöva använda ett hidden field?

function wopen(varde1,varde2){
alert(varde1);
document.form1.hidden.value=varde2;
}

function w2open(){
alert(document.form1.hidden.value)
}

<a href="#" onClick="wopen('hej','kalle')">klicka!</a>
<a href="#" onClick="w2open()">klicka!</a>
<form name="form1">
<input type="hidden" name="hidden" value="">
</form>
Peter SMedlem sedan dec. 20025 483 inlägg
#2

Du kan ju skapa en global variabel:

var global = null;

function wopen(varde1,varde2){
     alert( varde1 );
     global = varde2;
}

function w2open(){
     alert( global );
}

<a href="#" onClick="wopen('hej','kalle')">klicka!</a>
<a href="#" onClick="w2open()">klicka!</a>

:)

Jesper TMedlem sedan nov. 20017 144 inlägg
#3

Tack, då har jag lärt mig något nytt! :)

Peter SMedlem sedan dec. 20025 483 inlägg
#4

:bire

JojoxxMedlem sedan juni 20004 308 inlägg
#5

Som kuriosa kan nämnas ett en variabel i JavaScript automatiskt är global om du inte specifikt talar om att den skall vara lokal (genom att deklarera den inne i funktionen).

Ex

foo(); bar();
function foo(){
	a="foo";
}
function bar(){
	alert(a);
}

jämfört med

foo(); bar();
function foo(){
	var a="foo";
}
function bar(){
	alert(a);
}
Jesper TMedlem sedan nov. 20017 144 inlägg
#6

Men den enda skillnaden jag kan se är att du har satt "var" framför variabeln "a". Skall det vara så?

Peter SMedlem sedan dec. 20025 483 inlägg
#7

Ja, om du inte använder nyckelordet var när du deklarerar en variabel blir den automatiskt global. Dock hör det till god programmeringsstil att alltid deklarera variabler så Jojoxx kuriosaexempel är ej att rekommendera.

:)

JojoxxMedlem sedan juni 20004 308 inlägg
#8

Peter S skrev:

Dock hör det till god programmeringsstil att alltid deklarera variabler...

Så sant. Ville bara påpeka det eftersom flertalet script som du hittar på nätet saknar variabeldeklarationer. Vet man då inte skillnaden kan man lätt bli sittande och slita sitt hår i onödan.

130 ms totalt · 3 externa anrop · v20260731065814-full.37765c92
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)