Javascript vraag - het combineren van gegevens tot een bestaande variabele
Code (php)
1
2
3
4
5
2
3
4
5
var namen = new Array("kees","pietje","klaasje");
if(in_array(ingegevennaam, namen)) {
alert("Naam is aanwezig");
}
if(in_array(ingegevennaam, namen)) {
alert("Naam is aanwezig");
}
Dat werkt prima.
Nu heb ik de code uitgebreid met meerdere arrays:
Code (php)
1
2
3
2
3
var namen1 = new Array("sjaak", "boudewijn");
var namen2 = new Array("hans");
var namen3 = new Array("kees","pietje","klaasje");
var namen2 = new Array("hans");
var namen3 = new Array("kees","pietje","klaasje");
Op basis van een in een formulier gekozen waarde via select bv 1 of 2 of 3 moet hij de juiste array kiezen.
De verwijzing naar de formulier waarde is:
Code (php)
1
document.forms.multiform.level.options[document.forms.multiform.level.selectedIndex].value
Vervolgens probeer ik dat te combineren maar dat lukt dus niet:
Code (php)
1
if(in_array(ingegevennaam, namen+document.forms.multiform.level.options[document.forms.multiform.level.selectedIndex].value)) {
Met PHP kan ik prima overweg maar hoe doe ik dit nu met Javascript. Heb als met ""eromheen geprobeert en [] en ++ etc. Wie kan met helpen ?
Vr groet,
Hall
Gewijzigd op 19/05/2010 17:36:26 door B a s
Dan zou je het zo moeten doen van te voren
Code (php)
1
2
3
2
3
namen[] = document.forms.multiform.level.options[document.forms.multiform.level.selectedIndex].value;
if(in_array(ingegevennaam, namen)) {
if(in_array(ingegevennaam, namen)) {
Gewijzigd op 19/05/2010 14:19:16 door Niels Verwegen
Je moet zorgen dat het in 1 array komt!
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
function in_array(string, array) {
for (i = 0; i < array.length; i++) {
if(array[i] == string) {
return true;
}
}
return false;
}
for (i = 0; i < array.length; i++) {
if(array[i] == string) {
return true;
}
}
return false;
}
Was ik vergeten te vermelden.
Verder als antwoord. Het moeten meerdere array's blijven. Dus daar zoek ik niet de oplossing. Maar ik zal is even proberen of ik iets met je antwoord kan.
Zojuist gedaan. Als ik :
Code (php)
1
namen[] = document.forms.multiform.level.options[document.forms.multiform.level.selectedIndex].value;
toevoeg zegt hij syntaxisfout bij teken 12 is tussen []
Gewijzigd op 19/05/2010 17:36:51 door B a s
namen[namen.length] = ...
Dan zou je een functie moeten maken waar in je alles een voor een in de andere array zet , net zoiets als je functie nu.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
var namen = new Array("kees","pietje","klaasje");
function add_in_namen(array) {
for (i = 0; i < array.length; i++) {
namen[namen.length] = array[i];
}
}
//hier zou de array namen dan groter moeten zijn.
function add_in_namen(array) {
for (i = 0; i < array.length; i++) {
namen[namen.length] = array[i];
}
}
//hier zou de array namen dan groter moeten zijn.
Zoiets misschien
Gewijzigd op 19/05/2010 15:18:27 door Niels Verwegen
var nummer = document.forms.multiform.level.options[document.forms.multiform.level.selectedIndex].value;
if (nummer == 1) {
actievenamen = namen1;
}';
if (nummer == 2) {
actievenamen = namen2;
}';
etc
etc
if(in_array(ingegevennaam, actievenamen)) {
alert("Naam is aanwezig");
}
Dit werkt maar je zou zeggen dat er toch een kortere manier moet wezen.
Bedankt
Hall