Avatar billede netkravler Nybegynder
21. december 2010 - 16:57 Der er 9 kommentarer og
1 løsning

stirre mig blind igen igen

skal ha fundet en måde at påføre i som en variabel på et
document.getElementById

scriptet skal kører et ukendt antal gange. jeg skal sikre mig at summen af de pågældende felter ikke overskrider 1/5 af værdien på et andet felt.


<script type="text/javascript">

function testsum(antal){

var a = antal

for (i = 0; i <= a; i++)
{






var ft = document.getElementById("ft"+i).value;
var st = document.getElementById("st"+i).value;
var bs = document.getElementById("bs"+i).value;
var af = document.getElementById("af"+i).value;
var lf = document.getElementById("lf"+i).value;
var uf = document.getElementById("uf"+i).value;


if(ft+ st + bs + af + lf + uf > document.getElementById("timer"+i).value/5){

alert('Der er en fejl ved posten i række '+ i +' summen giver mere end '+document.getElementById("timer"+i).value/5);
}
}
document.form1.submit();

}
</script>

God jul til jer alle i vintersneen
Avatar billede majbom Novice
21. december 2010 - 17:28 #1
prøv at smid dine talvariabler (dem du bruger i dine regnestykker) igennem parseInt inde du regner med dem...
Avatar billede netkravler Nybegynder
21. december 2010 - 17:47 #2
Den melder denne fejl (Et objekt er obligatorisk
) jeg ved at så længe der er records i DB så er der mindst et textfelt der hedder ft1 næste hedder ft2 ft3 osv. det har jeg tjekket i koderne, så selve objektet mangler ikke. det må være ref til det som jeg har kludret i. Vist for længe imellem jeg sidder med det :-)

var ft = document.getElementById("ft"+i).value;

scriptet skal få linien til at ref sådan her

var ft = document.getElementById("ft1").value;

og næste gange den loopes

var ft = document.getElementById("ft2").value;

tror problemet ligger i hvor jeg sætter det i ind. jeg har prøvet alle mulige løsninger :-)
Avatar billede majbom Novice
21. december 2010 - 17:57 #3
kan du se i kilden at felterne hedder det ønskede?

kan man se siden?
Avatar billede netkravler Nybegynder
21. december 2010 - 18:19 #4
Felterne hedder det ønskede, så det er ikke der problemet ligger. siden er loginbeskyttet ikke offentlig. Det er en kommunal side. :-)

Siderne bliver genereret med ASP. og felterne får fortløbende numre. Det ligger i scriptet, det bliver lige pludselig så man tager sig til hovedet og siger doooh, hvordan kunne jeg overse det :-). men fejlen ligger ikke i de ASP gen felter, de har både id og navn med det samme som det scriptet forsøger at kalde.
Avatar billede majbom Novice
21. december 2010 - 18:58 #5
du skriver at der er et felt der hedder ft1, ft2 og ft3 - vil det sige at der ikke er nogen der hedder ft0?
Avatar billede netkravler Nybegynder
21. december 2010 - 21:58 #6
Der er ingen ft0. starter den ved 0 et loop :-O.

Så er det sikkert der problevet ligger :-)
Avatar billede majbom Novice
21. december 2010 - 22:39 #7
når du skriver:

for (i = 0; i <= a; i++)


starter den naturligvis med at i=0 :)

hvis dit første element hedder ft1, skal du så skrive:

for (i = 1; i <= a; i++)


:)
Avatar billede netkravler Nybegynder
22. december 2010 - 09:20 #8
Selvfølgelig, sad og så efter alt mulig andet :-) men nu virker den som den skal, den ser nu sådan ud, den kommer så med fejlene på række i en alertbox.

<script type="text/javascript">

function testsum(antal){

var a = antal

var themessage = "Der er følgende fejl på siden:";

for (i = 1; i <= a; i++)
{

var ft = document.getElementById("ft"+i).value;
var st = document.getElementById("st"+i).value;
var bs = document.getElementById("bs"+i).value;
var af = document.getElementById("af"+i).value;
var lf = document.getElementById("lf"+i).value;
var uf = document.getElementById("uf"+i).value;


if(((ft*1)+(st*1)+(bs*1)+(af*1)+(lf*1)+(uf*1)) != document.getElementById("timer"+i).value/5){

themessage = themessage +"\n\n"+"Ved posten i række "+ i +" giver summen ikke "+document.getElementById("timer"+i).value/5;


}}
 
if (themessage == "Der er følgende fejl på siden:") {
document.form1.submit();
}
else {
alert(themessage);
return false;

}
}
</script>

Hvordan tildeler jeg dig de point som jeg har udlovet som "dusør" fedt du ikke bare kom med løsningen, men sparkede mig i den rigtige retning, det er sådan det skal være. :-)

Hvor stærk er du i alm. ASP.
Avatar billede majbom Novice
22. december 2010 - 09:58 #9
jeg smider et svar som du accepterer, så får jeg "dusøren" :)

meget slap ;)
Avatar billede majbom Novice
22. december 2010 - 10:28 #10
tfp :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester