Avatar billede klovnefisken Nybegynder
16. september 2011 - 16:17 Der er 12 kommentarer og
1 løsning

on key up + document.getElementById("xx+nr")

Hi alle kloge hoveder her 
hvad kan jeg have gjort forkert her i min javascript

jeg har en side med mange input felter og 2 vandret og 10 lodret (ff/tb,0-9)
så i min onkeyup(x,y)er plasseringen af den

onkeyup="chk_change(tb,0)er den ene i første række

javascriptet der kaldes er som følgende
<script type='text/javascript'>
function chk_change(xx,nr) {
var tal=document.getElementById('xx+nr').value;
            $('#new_cours').load('gem_data.php?funk=chkchange&ft='+xx+'&nummer='+nr+'$verdi='+tal);
        }
    </script>
når jeg kikker på konsol i firebug får jeg denne fejl
document.getElementById("xx+nr") is null
tal=document.getElementById('xx+nr').value;
jeg har husket at give den en id
jeg er ret sikker på det er måden jeg skriver det i
håber der er en der kan hjælpe mig
M.V.H. Bruno
Avatar billede olebole Juniormester
16. september 2011 - 16:53 #1
<ole>


document.getElementById(xx+nr)


/mvh
</bole>
Avatar billede olebole Juniormester
16. september 2011 - 16:55 #2
- men det kommer selvfølgelig anpå, hvad der ligger i variablen xx.

Er det et tal, har du en alvorlig fejl i din markup kode. En ID kan aldrig begynde med et tal
Avatar billede klovnefisken Nybegynder
16. september 2011 - 17:29 #3
jo det var lige det at det var et tal den ID startde med , en taste fejl så xx var et tal , men nu er det tb eller ff

men det hjalp ikke helt , nu kører javascript

men nu er xx enten tb eller ff

fejl beskrivelsen er set i konsol med firebug

document.getElementById(xx+nr).value får jeg fejl
xxxxx/lektion/gem_data.php?funk=chkchange&ft=ff&nummer=0$verdi=null

var tal=document.getElementById(xx+nr);
document.getElementById(xx + nr) is null



jeg er da ikke forkert på den når jeg siger at et input felt er en value
Avatar billede olebole Juniormester
16. september 2011 - 17:38 #4
Vis præcis, hvordan du kalder funktionen. Det er umuligt at finde en fejl i en kode, man ikke kender.

Jeg er f.eks. i tvivl om, hvorvidt det overhovedet er en streng, der ligger i xx  =)
Avatar billede olebole Juniormester
16. september 2011 - 17:42 #5
- og du er fuldstændig forkert på den, når du siger, at et input felt er en value. Hvis du til gengæld mener, at et input felt har en value, har du helt ret.

Det giver ikke mening at tale om en kode, med mindre man er helt præcis og nøjeregnende med ordene, man bruger
Avatar billede klovnefisken Nybegynder
16. september 2011 - 18:05 #6
det jeg mente var at document.getElementById(xx+nr).value; at her er det en value


<script type='text/javascript'>
function chk_change(xx,nr) {
  var tal=document.getElementById(xx+nr).value;
  $('#new_cours').load('gem_data.php?funk=chkchange&ft='+xx+'&nummer='+nr+'$verdi='+tal);
}
</script>

<input id="tb0" type="text" style="width:70px" value="0" name="tb0" onkeyup="chk_change("ff",0)">
<input id="ff0" type="text" style="width:70px" value="0" name="ff0" onkeyup="chk_change("ff",0)"><br />

giver denne forkortet udgave af min kode mere mening
Avatar billede olebole Juniormester
16. september 2011 - 18:16 #7
"det jeg mente var ..." >> Det er præcis, hvad jeg referede til: Skriv, hvad du mener! Hvis du ikke er helt præcis, er det umuligt at føre en fornuftig samtale om koden  *o)

Dette giver ikke mening:

onkeyup="chk_change("ff",0)"

Hvor begynder eventhandleren - og hvor slutter den? Det er umuligt for browseren at vide. Sådan skal der stå:

onkeyup="chk_change('ff',0)"
Avatar billede klovnefisken Nybegynder
16. september 2011 - 18:48 #8
ja det kan jeg da godt se nu du skriver det
men måden jeg har skrevet den i PHP er

for ($nr=0 ; $nr<=9 ; $nr++)
{
echo"<input onkeyup='chk_change(\"ff\",".$nr.")' id='ff".$nr."' name='ff".$nr."' type='text' value='".$_SESSION['chk_tilbage'][$nr]."' style='width:70px'/>
}

da alle input bliver genereret i en for løkke

jeg kan hermed se at jeg skal kikke på brugen af ' og " og \"
så jeg får det rigtige frem
Avatar billede klovnefisken Nybegynder
16. september 2011 - 18:52 #9
efter lidt ombygning af de tegn fik jeg dette frem i kildekoden
onkeyup="chk_change('ff',1)"
Avatar billede klovnefisken Nybegynder
16. september 2011 - 19:06 #10
nu kan jeg næsten sige tak
for nu virker de 18 ud af 20
kun tb0 og ff0 giver  stadig fejl
jeg formoder det er fordi "0" forsvinder så den kikker efter en id tb eller ff ,og ikke tb0 eller ff0 ,, men den klarer jeg bare ved at give den nummere fra 1 og op istedet for fra 0

kan jeg have ret i det med at 0 kan opfattes som ingenting i denne kode

kom med et svar og så jeg kan give dig de 30 point som tak
Avatar billede olebole Juniormester
16. september 2011 - 19:41 #11
Hvis der står <input id="tb0" og xx indeholder tb, og nr indeholder 0, vil det med statsgaranti fungere.

Kik i kildekoden og se, hvad PHP skriver ud der, hvor du mener, der skal stå 0 i event handleren. Det må være der, fejlen ligger.

Ellers tak, jeg samler ikke længere points. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede klovnefisken Nybegynder
16. september 2011 - 20:23 #12
ja du har ret der var en lille ' " \" fejl mere som nu er fundet

lukker og slukker denne tråd TAKKER for hjælpen
Avatar billede olebole Juniormester
16. september 2011 - 20:35 #13
Selvtak  =)
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