Jump to content
php.lv forumi

Javascript mainīgais uz php


zinatnieks

Recommended Posts

Problēma tāda, ka man ir nepieciešams javascripta mainīgo padot tālāk php lai tad var viņu tālāk apstrādāt.

Problēma rodas tajā, ka Javascript ir klienta puses bet php servera puses programmēšanas valoda.

Javascripts:

<script LANGUAGE="JavaScript">
////////////////////
var myImg= new Array(14)
<?foreach($gallery as $idx=>$image):?>
 myImg[<?=$idx?>]= <?echo "\"".$image['image']."\""?>;

<?endforeach;?>
///////////////////
</SCRIPT>

 

PHP:

<a id="galleryLink" href="java script:openPhoto('<?=$cfg["home_url"]?>/templates/thumb.php?id=<?=base64_encode($gallery[0]["image"])?>&res=3', <?=$width?>, <?=$height?>, myImg);"><img src="<?=$cfg["home_url"]?>/templates/thumb.php?id=<?=base64_encode($gallery[0]["image"])?>&res=5" id="gallery" alt="" border="0" />

 

Kā jau var redzēt tad pie openPhoto es mēģinu to javascript mainīgo myImg padot, bet nestrādā.

 

Varbūt kādam ir kāds ierosinājums?

Link to comment
Share on other sites

Ja neskaita, ka tu izmanto PHP, lai ģenerētu kodu, es neredzu, kur notiktu mēģinājums padot JS masīvu PHP. Es redzu, ka tiek izsaukta JS funkcija, kurai padots tiek myImg JS masīvs. Tam būtu jāstrādā (JS openPhoto funkcija dabūs myImg saturu), ja myImg ir globāls.

Edited by andrisp
Link to comment
Share on other sites

Padot myImg masīvu GET-ā:

document.getElementById('galleryLink').href += '&myImg=' + myImg.toString();

Šis īsti neder, jo tad links tiek padots diezgan nejēdzīgi:

java script:openPhoto('http://adrese.lv', '584', '768');myImg=pirmais_elements,otrais_elements,tresais_elemets

 

Man ir nepieciešams, lai tas tiktu padots kā:

java script:openPhoto('http://adrese.lv', '584', '768', 'myImg=pirmais_elements,otrais_elements,tresais_elemets');

Link to comment
Share on other sites

Ja nu pats nevari saprast:

 

<a id="galleryLink" href="java script:openPhoto('<?=$cfg["home_url"]?>/templates/thumb.php?id=<?=base64_encode($gallery[0]["image"])?>&res=3&{MY_IMG}', <?=$width?>, <?=$height?>, 
myImg);"><img src="<?=$cfg["home_url"]?>/templates/thumb.php?id=<?=base64_encode($gallery[0]["image"])?>&res=5" id="gallery" alt="" border="0" />

un

document.getElementById('galleryLink').href = document.getElementById('galleryLink').href.replace('{MY_IMG}', 'myImg=' + myImg.toString());

Bet labāk funkcijā openPhoto to darīt.

Link to comment
Share on other sites

Nu tad jā, bet pēc tā JS izskatās, ka izdrukātie galerijas bilžu ID ir ID no datubāzes. Un tie noteikti nebūs vienmēr secīgi no 1 uz augšu, ja ir vairākas galerijas. Un tā kā viņš ģenerējot to masīvu izmanto šos IDs, tad es pieņemu, ka kodā tie tiks izmantoti.

Link to comment
Share on other sites

Nu tad jā, bet pēc tā JS izskatās, ka izdrukātie galerijas bilžu ID ir ID no datubāzes. Un tie noteikti nebūs vienmēr secīgi no 1 uz augšu, ja ir vairākas galerijas. Un tā kā viņš ģenerējot to masīvu izmanto šos IDs, tad es pieņemu, ka kodā tie tiks izmantoti.

 

Vēlreiz saku -- pārbaudi pats. :)

var a = [];
a[10] = 'test';
alert(a.toString()); // būs rezultāts ",,,,,,,,,,test"

Link to comment
Share on other sites

new Array() vai [] nemaina būtību, abos gadījumos, ja būs viens elements ar index 500'000 firefoxis nokārsies ar visu firebugu,

tāpēc id kā masīva indexu javascriptā nekad nevajag izmantot.

Edited by v3rb0
Link to comment
Share on other sites

andrisp: Javascriptā sekojošas divas konstrukcijas ir ekvivalentas:

var a = [];

un

var a = new Array();

Tāpat kā var a={}; ir ekvivalents ar var a=new Object();

 

[] vai {} ir šortkuts new Array vai new Object rakstīšanai.

Link to comment
Share on other sites

×
×
  • Create New...