JohanDerks
Verenigingslid
- Lid geworden
- 2 dec 2006
- Berichten
- 82
Stel (dit is een verregaande vereenvoudiging van het probleem):
Ik heb een button in een document "interEuropa" met een formulier "talen_van_Europa", afgekort "tE":
De functie nombruKonkl () zit in een included js-document (src="IMWesp.js"), waarvan de belangrijkste regels zijn:
Die functie wordt in het document na de introductie van <form name="talen_van_Europa"> en de definitie van tE.
De waardeberekening van lingvonbro en lingvosumo gebeurt, zoals je hierboven ziet, in nombru("esp"), maar die functie staat in een ander included js-document (src="IMWeu.js"):
Als ik uit nombru(lg) - lg kan de waarde "esp" aannemen, voor de Esperanto-versie van de app en "eng" voor de Engelse versie - de ballast verwijder, blijft er over :
In nombru(lg) is lingvonbro niet lokaal gedeclareerd, omdat het included js-document niet alleen bij het document "interEuropa" ingesloten wordt, maar ook bij een document "interZamenhof" en de initialisatiewaarde is daar anders dan bij "interEuropa". Om de functie nombru("esp") in beide documenten te kunnen gebruiken, heb ik bedacht, dat de toe wijzingen lingvonbro = tE.lingvonbro.value; lingvosumo = tE.lingvosumo.value (zie de tekst van de button, waar ik mee begon) correcte globale declaraties zouden zijn.
Maar nu twijfel ik daar aan, want ik krijg steevast de foutmelding "lingvonbro op regel 6 niet gedefinieerd".
Ik vermoed, dat de waarde van een HTML attribuut, zoals lingvonbro, niet op deze manier naar een javascript-snippet gecopieerd kan worden. Verwarrend, want het omgekeerde kan volgens mij wel: aan een HTML-attribuut via javascript een bepaalde waarde toekennen.
Sorry voor de complexe structuur. Ik kan de vraag niet verder vereenvoudigen! Iedere vraag of commentaar is welkom.
Ik heb een button in een document "interEuropa" met een formulier "talen_van_Europa", afgekort "tE":
Code:
<button type="button" onclick="javascript: lingvonbro=tE.lingvonbro.value;
lingvosumo=tE.lingvosumo.value; nombruKonklud();">
Code:
function nombruKonkl() {
nombru("esp");
tE.lingvonbro.value = lingvonbro;
tE.lingvosumo.value = lingvosumo;
}
De waardeberekening van lingvonbro en lingvosumo gebeurt, zoals je hierboven ziet, in nombru("esp"), maar die functie staat in een ander included js-document (src="IMWeu.js"):
Als ik uit nombru(lg) - lg kan de waarde "esp" aannemen, voor de Esperanto-versie van de app en "eng" voor de Engelse versie - de ballast verwijder, blijft er over :
Code:
1 function nombru(lg) {
2 for (var i = 0; i < lenE; i++) {
3 x = document.getElementsByName(kodoj[i]);
4 if (x.length > 1) {
5 if (x[0].checked) {
6 lingvonbro += 1;
7 }
8 if (x[2].checked == false) {
9 lingvosumo += 1;
10 }
11 } else {
12 if (x[0].checked) {
13 lingvonbro += 1;
14 }
15 lingvosumo += 1;
16 }
17 }
18 }
19}
Maar nu twijfel ik daar aan, want ik krijg steevast de foutmelding "lingvonbro op regel 6 niet gedefinieerd".
Ik vermoed, dat de waarde van een HTML attribuut, zoals lingvonbro, niet op deze manier naar een javascript-snippet gecopieerd kan worden. Verwarrend, want het omgekeerde kan volgens mij wel: aan een HTML-attribuut via javascript een bepaalde waarde toekennen.
Sorry voor de complexe structuur. Ik kan de vraag niet verder vereenvoudigen! Iedere vraag of commentaar is welkom.
Laatst bewerkt: