Avatar billede msnilsson Nybegynder
22. august 2003 - 11:06 Der er 6 kommentarer og
1 løsning

GetElementByID problem

Hvorfor virker denne funktion ikke?:

function toem(tabel)
{
varT1='knap'+((tabel-1)*100)+1);
document.getElementById(varT1).checked = false;

varT2='knap'+((tabel-1)*100)+2);
document.getElementById(varT2).checked = false;

varT3='knap'+((tabel-1)*100)+3);
document.getElementById(varT3).checked = false;

}

Funktionen kaldes med f.eks::
<input type="button" value="- Ryd -" name="Nulstil2" onclick="toem(2);">

Og de radio buttons der skal sættes til unselect hedder:
(i tabel 1:)
<input type='radio' value='1' name='S1' id='knap1'>
<input type='radio' value='2' name='S1' id='knap7'>
<input type='radio' value='3' name='S1' id='knap13'>
<input type='radio' value='1' name='S2' id='knap2'>
<input type='radio' value='2' name='S2' id='knap8'>
m.fl.

(i tabel 2:)
<input type='radio' value='1' name='S101' id='knap101'>
input type='radio' value='2' name='S101' id='knap107'>
<input type='radio' value='3' name='S101' id='knap113'>
<input type='radio' value='1' name='S102' id='knap102'>
<input type='radio' value='2' name='S102' id='knap108'>
<input type='radio' value='3' name='S102' id='knap114'>
<input type='radio' value='1' name='S103' id='knap103'>
m.fl.

etc.

Håber nogen kan hjælpe...
Avatar billede msnilsson Nybegynder
22. august 2003 - 11:08 #1
Fejlmeddelelsen er: "Et objekt var ventet"

(jeg skal også sige at der naturligvis er flere linjer i selve funktionen (faktisk er der 42))
Avatar billede minijensen1 Nybegynder
22. august 2003 - 11:09 #2
Har du prøvet at lave en alert(varT1) - for at se hvilket den prøver at få fat på?
Avatar billede grunken Nybegynder
22. august 2003 - 11:58 #3
vi er enige om at den skal rydde en hel tabel for markerede radiobuttons af gangen?, det kan med en lidt bedre virkning omskrives!
Avatar billede msnilsson Nybegynder
22. august 2003 - 13:44 #4
Hvordan? - Problemet er at den skal rydde de radiobuttons der står i tabel 1 (eller 2, eller 3...) uden at rydde de andre - men alle radiobuttons i de forskellige tabeller tilhører samme form...

Jeg tror måske at problemet har noget at gøre med at den ikke vil lave en variabel på denne måde:
varT1='knap'+((tabel-1)*100)+1);

- for jeg kan godt få lov at køre funktionen på siden, hvis jeg bare alerter "Hallo" - men hvis skriver alert(varT1), så skriver den ´"Et objekt var ventet...

er det fordi "knap" er en tekststreng og (tabel-1) er et tal? Hvordan kan jeg så gøre det?
Avatar billede msnilsson Nybegynder
22. august 2003 - 13:49 #5
Nu faldt ti-øren... jeg har droppet at bruge idét "knap1","knap2" etc. og bruger nu i stedet id=1,id=2 etc.

Nå men hvis nogen kan få det til at virke med knap1,knap2 etc, så kan vedkommende få de 60 pts...
Avatar billede grunken Nybegynder
22. august 2003 - 17:26 #6
en meget lettere måde at gøre det på kunne være sådan her!, så behøver dit script heller ikke fylde 10 km.

<script type="text/javascript">
function ryd(e){
e = document.getElementById(e).getElementsByTagName('input')
for(i=0;i<e.length;i++)e[i].checked = false;
}
</script>

<div Id="tabel1">
<input type='radio' value='1' name='S1' id='knap1'>
<input type='radio' value='2' name='S1' id='knap7'>
<input type='radio' value='3' name='S1' id='knap13'>
<input type='radio' value='1' name='S2' id='knap2'>
<input type='radio' value='2' name='S2' id='knap8'>
</div>

<br>

<div Id="tabel2">
<input type='radio' value='1' name='S101' id='knap101'>
<input type='radio' value='2' name='S101' id='knap107'>
<input type='radio' value='3' name='S101' id='knap113'>
<input type='radio' value='1' name='S102' id='knap102'>
<input type='radio' value='2' name='S102' id='knap108'>
<input type='radio' value='3' name='S102' id='knap114'>
<input type='radio' value='1' name='S103' id='knap103'>
</div>

<br>

<a href="#" onclick="ryd('tabel1');">Ryd 1</a><br>
<a href="#" onclick="ryd('tabel2');">Ryd 2</a>
Avatar billede msnilsson Nybegynder
10. maj 2004 - 11:59 #7
lukker
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