Ik ben bezig om een php applicatie te schrijven waarmee ik een soort portofolio kan beheren. Deze portofolio bestaat uit foto's met een beschrijving. Deze foto's zijn weer onderverdeeld in categorieen. Ik ben op dit moment bezig om het admin gedeelte te schrijven. Ik heb hier echter een probleempje met een Javascript dat ik heb geschreven in de pagina om de categorie naam up te daten. Dat update gedeelte bestaat uit een pulldown box waar in je dan de categorie die je wilt editten selecteerd. Als je een categorie geselecteerd hebt, wordt deze in een textfield ernaast weergegeven. In dit textfield kun je dan de categorie naam aanpassen, waarna je de categorie kunt updaten. Dit wilde ik zo doen om onnodig veel klikken te voorkomen.
Nu is het probleem dat mijn javascriptje niet helemaal goed werkt.
Hier is eerst even de code
in de head tags
in men form
Deze categorien worden dus uit de database gehaald en via PHP omgezet in html en de javascript array. Wat nu blijkt is dat de eerste 4 categorieen (value 1 tm 4) perfect werken. Als ik echter een volgende value krijg die niet na de vorige komt (na 4 bijv 12) dan werkt het echter niet. Is die 12 echter een 5 dan werkt het weer wel. in mijn textfield komt undefined te staan als het niet werkt (bij bijvoorbeeld 12).
Ik snap niet wat ik verkeerd doe. De array lijkt te kloppen en category[this.selectedIndex] zou toch gewoon ook moeten werken als er 12 wordt ingevoerd? Ik heb niet echt veel verstand van Javascript, dus misschien is het iets wat gewoon niet zo werkt in Javascript en dat ik daar niets van weet. Weet iemand van jullie wel een oplossing voor mijn probleem?
Nu is het probleem dat mijn javascriptje niet helemaal goed werkt.
Hier is eerst even de code
in de head tags
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var category = new Array();
category[1] = "Web design";
category[2] = "Graphic design";
category[3] = "Other design";
category[4] = "Photography";
category[12] = "teststat";
category[14] = "aarata";
function setText(field, array_item) {
//if(itemArray != null) {
field.value = array_item;
//}
//else {
//selectCtrl.value = "";
//}
}
// End -->
</script> |
in men form
code:
1
2
3
4
5
6
7
8
9
10
11
| <select name="select_cat_edit" onChange="setText(this.form.cat_name, ((this.selectedIndex == -1) ? null : category[this.selectedIndex]));"> <option value="-1">Select category to edit <option value=1>Web design <option value=2>Graphic design <option value=3>Other design <option value=4>Photography <option value=12>teststat <option value=14>aarata </select> <input type="text" name="cat_name"> |
Deze categorien worden dus uit de database gehaald en via PHP omgezet in html en de javascript array. Wat nu blijkt is dat de eerste 4 categorieen (value 1 tm 4) perfect werken. Als ik echter een volgende value krijg die niet na de vorige komt (na 4 bijv 12) dan werkt het echter niet. Is die 12 echter een 5 dan werkt het weer wel. in mijn textfield komt undefined te staan als het niet werkt (bij bijvoorbeeld 12).
Ik snap niet wat ik verkeerd doe. De array lijkt te kloppen en category[this.selectedIndex] zou toch gewoon ook moeten werken als er 12 wordt ingevoerd? Ik heb niet echt veel verstand van Javascript, dus misschien is het iets wat gewoon niet zo werkt in Javascript en dat ik daar niets van weet. Weet iemand van jullie wel een oplossing voor mijn probleem?