Toon posts:

javascript en mozilla.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende is het probleem ik heb een script dat er voor zorgt dat als een gebruiker een textbox aanklikt de checkbox die hier bij hoort automatisch checked. Onder MS-IE werkt dit zonder probleem echter onder mozilla werkt dit dus niet..... zie hieronder de details van het script... iemand een idee hoe dit werkende te krijgen onder beide browsers?


het stukje java code....
code:
1
2
3
4
5
script type="text/javascript">
   function check(checkboxid) {
      document.getElementById(checkboxid).checked = "checked";
     }
 </script>



het stukje html en java wat het javascript aan moet roepen.... ik heb nu als voorbeeld de eerste regel genomen maar het aantal regels kan waarbij dit moet gebeuren kan verschillen en oplopen tot een stuk of 50 dus ik wil de code dynamisch houden...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                  <!-- Checkbox -->
                  <TD WIDTH="2%" align="center" class="tableDataCell">
                    <CENTER>
                    <P>
                    <INPUT TYPE="CHECKBOX" NAME="CheckBox_0" VALUE="CheckBox_0"  >
                    </CENTER>
                  </TD>

                  <!-- Partnumber -->

                  <TD WIDTH="25%" align="left" class="tableDataCell">
                    <table><tr><td>

                      
                      <INPUT TYPE="TEXT" NAME="merchant_sku_0" SIZE="15" VALUE="" onFocus="javascript:check('CheckBox_0');">

                    </td>

  • Victor
  • Registratie: November 2003
  • Niet online
Probeer
JavaScript:
1
checked = true
eens.

edit:
Het ontbreken van het ID zoals hieronder vermeld wordt was me nog niet eens opgevallen

[ Voor 55% gewijzigd door Victor op 06-08-2006 18:10 ]


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01:50

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
<INPUT TYPE="CHECKBOX" NAME="CheckBox_0" VALUE="CheckBox_0"  >


getElementById( 'CheckBox_0' ) retourneert hier idd als het goed is niet dat element, dat nl. helemaal geen ID maar een NAME heeft ...

zoals wel vaker ligt de fout dus in slordige scripts en voroal de slordige interpretatie van explorer, die elementen retourneert die eigenlijk niet zouden mogen bestaan...
die hier uit zichzelf gaat bedenken dat een element met een NAME wel eens gelijk zou kunnen zijn aan en element met een ID dat gezocht wordt ...

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Topicstarter
Als je bedoeld dat het javascript er uit zou moeten gaan zien zoals hier beneden..... dan werkt het niet op deze manier... onder MS-IE werkt het inderdaad nog steeds maar onder Mozilla werkt het niet.....


code:
1
2
3
4
5
 <script type="text/javascript">
   function check(checkboxid) {
      document.getElementById(checkboxid).checked = true;
     }
 </script>

  • Victor
  • Registratie: November 2003
  • Niet online
Verwijderd schreef op zondag 06 augustus 2006 @ 18:10:
Als je bedoeld dat het javascript er uit zou moeten gaan zien zoals hier beneden..... dan werkt het niet op deze manier... onder MS-IE werkt het inderdaad nog steeds maar onder Mozilla werkt het niet.....


code:
1
2
3
4
5
 <script type="text/javascript">
   function check(checkboxid) {
      document.getElementById(checkboxid).checked = true;
     }
 </script>
RM-rf heeft gelijk wat betreft Explorer die name en id als gelijke behandelt, hier is ook door PPK al wat over geschreven. De oplossing ligt dus waarschijnlijk in het toevoegen van het id attribuut.

Verwijderd

Topicstarter
Klopt inderdaad ik heb het kunnen oplossen door het toevoegen van een officieel ID en dan werkt het zoals het zou moeten werken onder mozilla.... vreemde is echter wel, ik heb namelijk even zitten spelen met de getElementByName dat dit niet het probleem op heeft gelost en er juist voor zorgde dat het onder geen enkele browser werkte.....


De ID optie heeft in ieder geval gewerkt en nu doet hij het overal.... super! :-)

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op zondag 06 augustus 2006 @ 18:17:
Klopt inderdaad ik heb het kunnen oplossen door het toevoegen van een officieel ID en dan werkt het zoals het zou moeten werken onder mozilla.... vreemde is echter wel, ik heb namelijk even zitten spelen met de getElementByName dat dit niet het probleem op heeft gelost en er juist voor zorgde dat het onder geen enkele browser werkte.....


De ID optie heeft in ieder geval gewerkt en nu doet hij het overal.... super! :-)
het is ook getElementsByName, aangezien het mogelijk is om meerdere elementen dezelfde naam te geven, je krijgt dat ook een collectie van elementen terug ipv 1 ;)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 22:00

crisp

Devver

Pixelated

persoonlijk zou ik het overigens zo doen; heb je ook geen ID nodig:
code:
1
onfocus="this.form.elements['CheckBox_0'].checked=true"

of je het dan nog in een functie wil gieten mag je zelf weten; het is in ieder geval wel handig om mbv het this keyword een referentie naar je formulier mee te geven en verder gewoon van de elements collectie gebruik te maken; scheelt weer lookups.

Intentionally left blank

Pagina: 1