Da li je moguće varijabli u jednoj skripti pridijeliti vrijednost varijable iz druge?

Pozdrav,

Da li je moguce sljedece:

Imam 2 skripte:

Recimo da je u prvoj definirana varijabla

var link = 5;

Sada zelim ovu variablu link upotrijebiti u

u drugoj skripti

recimo na sljedeci nacin var novilink=var link

Da li je moguce na taj nacin pridjeliti vrijednost jedne varijable iz jene skripte
na vrijednost u drugoj.

Hvala

Moguce je, moras paziti kojim redoslijedom include-as JS skripte.

znaci ako imas dvije skripte u html dokumentu:

<script type='text/javascript' src='prva.js'></script>
<script type='text/javascript' src='druga.js'></script>

sve GLOBALNE varijable koje definiras u prva.js mozes koristit i u druga.js.

Npr. u prva.js na pocetak imas

globals = {
		
		dummyVar1            : "true",
		dummyVar2            : "3",
		dummyVar3            : false
		
	};

I nakon toga taj globalni objekt mozes koristit i u prva.js i u druga.js.

Ako trebas dummyVar2 dobijes vrijednost ovako:

alert(globals.dummyVar2);

ili mozes jednsotavno definirat globalnu varijablu ovako:

dummyVar = "vrijednost";

Razlika izmedu globalne i lokalne varijable:

Lokalna:

var dummyVar = "vrijednost";

Globalna:

dummyVar = "vrijednost"; 

Googlaj malo o razlici izmedu globalnih i lokalnih varijabli razlika u definiranju je samo taj “var” a scope ime je drugaciji…

Ali da pitanje na tvoj odgovor moguce je definirat varijablu u jednoj skripti i koristit ju u drugoj, ako skriptu ciju varijablu zelis koristiti include-as prije druge skripte, i tu moras pazit jesi li ju definiralo kao lokalnu ili globalnu da nemas sa tim problema.

Hvala ti na brzom odgovoru, jos jedno kratko pitanje ako, naime zelim koristiti LIGHTVIEW skripte preko
http://www.nickstakenburg.com/projects/lightview/
,

e sada imam link

Link

preko toga linka i sljedece skripte mi se otvara lightview frame

Moje pitanje je da li je ikako moguce vrijednost linka koji je <? echo $rows['id']; ?>
prebaciti u varijablu var test u skripti.

Eh ovako sad, imas problem sto se html-a tice.

Ovo nije W3 validan kod:

<a id="demo_ajax" href="#" value="neka vrijednost">Link</a>

Value mozes koristiti u npr. input tagovima. Ne u linkovima, tako bar W3 validator kaze.

Da imas kod ovako:

<input id="demo_ajax" value="123" />

Onda bi vrijednost value mogao pokupiti cistim JavaScriptom ovako:

<script type="text/javascript">

	var test = document.getElementById("demo_ajax").value;
	alert(test);
	
</script>

Znaci to je gore primjer koda kako pokupiti value nekog input polja.

A ovaj tvoj link nije validan, vjerovatno si preko value pokusao proslijedit neku vrijednost… al nije ti ovo dobro…

Znas kako pokusaj, ako koristis jQuery na stranici mozes stvar sredit ovako:

$(document).ready(function() {
	
	var test = $("#demo_ajax").attr("value");
	alert(test);
	
});

Znaci sad ti var test sadrzi value vrijednost.

ovako, naime vec imam $(document).ready(function() koji je vezan za drugi dio koda i to kako slijedi u nastavku, na koji nacin to sada integrirati ako uopce. Ovaj dio sa skriptama mi bas i ne lezi pa ako mozes jos pogledati.

$(document).ready(function() { $(’.filter[enabled]’).attr(‘checked’,‘checked’); setCarclass(’<? echo friendlyClass($_SESSION['carclass']); ?>’); preloader(false); });

$(document).ready(function() {

$('.filter[enabled]').attr('checked','checked'); 
setCarclass('<? echo friendlyClass($_SESSION['carclass']); ?>'); 
preloader(false); 

var test = $("#demo_ajax").attr("value");

});

da i jos jedna stvar je da je ustvari $rows[‘id’] samo jedan dio array-a tako da se u php-u nalazi ispis iz baze, i da postoji vise linkova na $demo_ajax i svaki ima svoj value. :frowning:

Nesto sam izmjenio stvari pa imam sljedece mislim da ce biti lakse:

Preko sljedeceg buttona:

te dolje navedene skripte dobivam vrijednost kliknutog buttona ( u array-u ): primjetit ces da se u locationstringu nalaze jos neke vrijednosti koje vucem iz nekih dodatnih polja koja se nalaze u array-u.

function selectThis(id){
var locationstring = “…/process.php?vrijednost=” + id;
locationstring += “&bs=” + $(’#bs_’ + id).attr(“selectedIndex”);
locationstring += “&ad=” + $(’#ad_’ + id).attr(“selectedIndex”);
locationstring += “&ns=” + $(’#ns_’ + id).attr(“selectedIndex”);
locationstring += “&wt=” + $(’#wt_’ + id).attr(“selectedIndex”);
locationstring += “&in=” + $(’#in_’ + id).attr(“selectedIndex”);
document.location.href = locationstring;
}

Moje pitanje:

Da li je moguce button izmjeniti te mu pridodati id=“demo_ajax“

Novi button:
(ovo sam isprobao, sve se normalno iscitava)

te preko gornje skripte – function selectThis(id) - dobiti LOCATIONSTRING string u nasoj prije navedenoj skripti.

Nadam se da nisam previse zakuhao.

Jesi majstore previše. Pomoglo bi kad bi naveo što konkretno želiš napraviti, postići, uraditi i za što.

Evo korak po korak:

Imam sljedeci button u array-u:

( pretpostavimo da je vrijednost u ovom slucaju kliknutog buttona = 5 tj. <? echo $rows['id']; ?> je 5)

Imam i skriptu kojom dobivam vrijednost kliknutog buttona:

function selectThis(id){
var vrijednost = id; //// znaci da je var vrijednost = 5;
}

Na koji nacin mogu prenijeti var vrijednost iz gornje skripte function selectThis(id)
u ovu dole navedenu (‘demo_ajax’), tj na koji nacin mogu var vrijednost upotrijebiti u donjoj skripti

Ja to ne znam jednostavnije objasniti.

Rjesio sam dio sa prebacivanjem varijable na sljedecu skriptu izostavio sam var locationstring i stavio samo locationstring tako da je varijabla postala globalna.

function selectThis(id){
locationstring = “process.php?vrijednost=” + id; ///// <-ovdje je bio var locationstring
locationstring += “&bs=” + $(’#bs_’ + id).attr(“selectedIndex”);
locationstring += “&ad=” + $(’#ad_’ + id).attr(“selectedIndex”);
locationstring += “&ns=” + $(’#ns_’ + id).attr(“selectedIndex”);
locationstring += “&wt=” + $(’#wt_’ + id).attr(“selectedIndex”);
locationstring += “&in=” + $(’#in_’ + id).attr(“selectedIndex”);
}

E sada, ja u sljedecoj skritpi koristim ovaj locationstring kako slijedi:

PROBLEM JE SLJEDECI: locationstring bi trebao izgledati sljedece:

process.php?vrijednost=1&bs=2&ad=3&ns=4&wt=5&in=6 ////// sa 6 vrijednosti (vrijednosti su u primjeru provizorne)

ali ja dobijem samo prvu liniju koda ili sljedece:

process.php?id=1

Sada, da li je moguce u prvoj skripti sve svesti na jednu varijablu i(jednu liniju koda) ili postoji neki drugi nacin da se i ove vrijednosti ukljuce.

Nadam se da je donekle razumljivo

Ako nekoga zanima, evo i rjesenje

function selectThis(id){
var bs=document.getElementById(“bs”).selectedIndex;
var ad=document.getElementById(“ad_” + id).selectedIndex;
var ns=document.getElementById(“ns_” + id).selectedIndex;
var wt=document.getElementById(“wt_” + id).selectedIndex;
var ins=document.getElementById(“in_” + id).selectedIndex;
locationstring = “?process=” + id + “&bs=” + bs + “&ad=” + ad + “&ns=” + ns + “&wt=” + wt + “&in=” + ins;
}

čitajući temu malo sam se zbunio ali primjer iz prvog posta bi trebao raditi.
Svaka varijabla deklarirana van funkcije u JS je odmah i globalna.
No frameworci deklariraju varijable unutar funkcije (barem jedne) zato varijable deklarirane untar frameworka nemaju globalni scope.

Kad smo već kod frameworka većina njih traži nestandardne atribute za rad, iako to nije validno ipak je praksa nešto drugo:)
Bila je tema o tome ovdje na formu
http://www.webmajstori.net/forum/showthread.php?t=29372&highlight=kori�tenje+nestandardnih+atributa+html