Jesper TMedlem sedan nov. 20017 144 inlägg 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 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 Tack, då har jag lärt mig något nytt! :)
JojoxxMedlem sedan juni 20004 308 inlägg 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 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 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
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.