Toon posts:

[php][javascript] variable probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dit is een onderdeel van mijn script:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<SCRIPT language="JavaScript"> 

function addType() { 
    var form = document.theform; 
    var catid = form.image_catagorie.options.value; 

    var jsArray = new Array("<?php echo join('", "', $result_type[NUMBER]); ?>"); 
    var length = jsArray.length; 

... 
} 
</SCRIPT> 


hoe kan ik ervoor zorgen dat catid (javascript variable) op de plek van NUMBER (in php string) komt?

Dus als bijvoorbeeld:
var catid = 467
var jsArray = new Array("<?php echo join('", "', $result_type[467]); ?>");

ik zit dus lekker vast in php en javascript.

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

JavaScript:
1
var jsArray = new Array("<?php echo join('", "', $result_type[?>catid<?]); ?>");


Edit:

Nee dat kan niet, de PHP word eerst geparsed, en later op de client word pas de js gedaan. En jij wil eerst js runnen en daarin nog weer een keer php parsen.

Je mixed server en clientside en dat kan niet.

[ Voor 106% gewijzigd door André op 05-02-2004 16:04 ]


  • Alex
  • Registratie: Juli 2001
  • Laatst online: 28-02 19:26
Let er wel op dat de strings geëscaped zijn, anders krijg je ruzie met Javascript :)

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


Verwijderd

Topicstarter
maar als ik het nummer 467 (hetzelfde als variable cid) invoer doet hij het wel goed.

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Verwijderd schreef op 05 februari 2004 @ 16:14:
maar als ik het nummer 467 (hetzelfde als variable cid) invoer doet hij het wel goed.
Dat zal best, handmatig, maar met js zul je nooit een php script kunnen aanvullen.

Verwijderd

Topicstarter
Hoe geef ik dan een multi-dimentie-array door aan javascript?

Ik heb namelijk een dropdown lijstje waaruit je een categorie kiest. Op het moment dat je de categorie gekozen hebt (onchange=addType()) komt in een multiselect veld eronder alle types te staan die bij die geselecteerde categorie horen.

de types staan in een multi-dimention-array ($result_types):

array([0]=>array ([0]=>not defined)
[467]=> array([0] => type1,
[111]=> type2)
[468]=>array([0]=> not defined,
[474]=> type3,
[471]=> type4))

Als ik deze hele array in javascript kon krijgen kwam kom ik er wel uit, maar ik heb alleen maar een omzetter gevonden die single-dimentional arrays omzet(zoals in het voorbeeld).

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:23

crisp

Devver

Pixelated

Meest eenvoudige oplossing: een postback doen naar de server met het gekozen type, en dan serverside met die invoer de 2e select vullen.

Als je de multi-array van PHP naar JS wil overzetten zal je daar zelf een functie voor moeten schrijven...

[ Voor 27% gewijzigd door crisp op 05-02-2004 16:43 ]

Intentionally left blank


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 09:07
pseudo javascript code voor een multi dimensionale array:
JavaScript:
1
2
3
var myarray=new Array();
myarray[0]=new Array();
myarray[0][0]='test';


Dit kun je zo toch ook wel vullen met PHP, dat is niet zo heel moeilijk.

* djluc had dus nog niet gelzen dat je dit dynamisch wilde doen... Als je niet veel gegevens hebt dan kun je gewoon een array als in mijn voorbeeld aanmaken, anders volgens de manier van Crisp.

[ Voor 31% gewijzigd door djluc op 05-02-2004 16:44 ]


Verwijderd

Topicstarter
crisp schreef op 05 februari 2004 @ 16:42:
[...]

Als je de multi-array van PHP naar JS wil overzetten zal je daar zelf een functie voor moeten schrijven...
Kun je me iets geven om mee te beginnen? :)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:23

crisp

Devver

Pixelated

Verwijderd schreef op 05 februari 2004 @ 16:59:
[...]


Kun je me iets geven om mee te beginnen? :)
nee...

Intentionally left blank


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 09:07
Niet zo bot hè Crisp, wel met een leuk linkje er bij : [rml][ W&G FAQ] W&G Policy & Beleid[/rml] ;)

@ts: Heb je mijn kleine voorbeeldstukje van een array gezien? Stel je nou eens voor dat je daar eens in plaats van 'test' eens wat PHP tussen gaat zetten en verder ook eens een of ander lusje gaat maken om zo alles netjes te printen?

[ Voor 4% gewijzigd door djluc op 05-02-2004 17:19 ]

Pagina: 1