JavaScript virker ikke i Opera
HejJeg har lavet et javascript som kan disable / enable samt checke / unchecke nogle forskellige checkbokse. Scriptet virker fint i Internet Exploere, men kun delvist i Opera.
Koden ser således ud:
<html><head></head><body>
<SCRIPT language="javascript" type="text/javascript">
function foerst(nr)
{
document.getElementById(nr + "_foerst").disabled = true;
var i = 1;
while (i <= document.forms[0].antal.value) {
if (nr != i && document.getElementById(i + "_foerst").checked == true && document.getElementById(i + "_foerst").disabled == true) {
document.getElementById(i + "_foerst").checked = false;
document.getElementById(i + "_foerst").disabled = false;
}
i++;
}
}
function aktiv(nr) {
if (document.getElementById(nr + "_aktiv").checked == false) {
document.getElementById(nr + "_foerst").disabled = true;
if (document.getElementById(nr + "_foerst").checked == true){
document.getElementById(nr + "_foerst").checked = false;
var i = 1;
var s = false;
while (s == false && i <= document.forms[0].antal.value) {
if (document.getElementById(i + "_foerst").disabled == false){
document.getElementById(i + "_foerst").checked = true;
document.getElementById(i + "_foerst").disabled = true;
s = true;
}
i++;
}
}
}
else{
document.getElementById(nr + "_foerst").disabled = false;
var i = 1;
var s = false;
while (s == false && i <= document.forms[0].antal.value) {
if (document.getElementById(i + "_foerst").checked == true) {
s = true;
}
i++;
}
if (s == false){
document.getElementById(nr + "_foerst").checked = true;
document.getElementById(nr + "_foerst").disabled = true;
}
}
}
function vis(nr) {
if (document.getElementById(nr + "_vis").checked == false) {
if (document.getElementById(nr + "_aktiv").checked == true) {
document.getElementById(nr + "_aktiv").checked = false;
aktiv(nr);
}
document.getElementById(nr + "_aktiv").disabled = true;
}
else{
document.getElementById(nr + "_aktiv").disabled = false;
}
}
function lock(nr) {
if (document.getElementById(nr + "_lock").checked == false) {
document.getElementById(nr + "_vis").disabled = false;
if (document.getElementById(nr + "_vis").checked == true) {
document.getElementById(nr + "_aktiv").disabled = false;
}
}
else {
document.getElementById(nr + "_vis").disabled = true;
document.getElementById(nr + "_aktiv").disabled = true;
}
}
function gem() {
i = 1
while (i <= document.forms[0].antal.value) {
document.getElementById(i + "_foerst").disabled = false;
document.getElementById(i + "_aktiv").disabled = false;
document.getElementById(i + "_vis").disabled = false;
document.getElementById(i + "_lock").disabled = false;
i++
}
return true
}
</SCRIPT>
<form action='admstem/stem_ret.asp' method='post'onsubmit='return gem()'>
<table border='0' class='bodytable' cellspacing='0'>
<tr bgcolor='silver'>
<td><b>Overskrift</b></td>
<td><b>Først</b></td>
<td><b>Aktiv</b></td>
<td><b>Vis</b></td>
<td><b>Lås</b></td>
</tr>
<tr>
<td>Fodboldstøvler</td>
<td align='center'><input type='checkbox' name='1_foerst' id='1_foerst' checked disabled onclick='foerst(1)'></td>
<td align='center'><input type='Checkbox' name='1_aktiv' id='1_aktiv' checked onclick='aktiv(1)' ></td>
<td align='center'><input type='Checkbox' name='1_vis' checked onclick='vis(1)'></td>
<td align='center'><input type='Checkbox' name='1_lock' id='1_lock' onclick='lock(1)'></td>
</tr>
<tr>
<td>Ny Bold</td>
<td align='center'><input type='checkbox' name='2_foerst' id='2_foerst' onclick='foerst(2)'></td>
<td align='center'><input type='Checkbox' name='2_aktiv' id='2_aktiv' checked onclick='aktiv(2)' ></td>
<td align='center'><input type='Checkbox' name='2_vis' checked onclick='vis(2)'></td>
<td align='center'><input type='Checkbox' name='2_lock' id='2_lock' onclick='lock(2)'></td>
</tr>
<input type='hidden' name='antal' value='2'>
</table>
<input type='submit' value='Gem Ændringerne' class='tbox'>
</form></body></html>
Siden kan også ses her: http://www22.brinkster.com/glen5000/help/default.htm
De 2 første kolonner virker fint, også i Opera, men de to sidste kolonner virker ikke. Jeg forstår det ikke, hvor jeg mener ikke jeg har brugt andre funktioner til de to sidste kolonner.
Kolonnen "Vis" skal disable alle de forgående i rækken og unchecke dem, hvis den bliver slået til, og enable aktiv hvis den bliver slået fra.
Kolonnen "Lås" skal disable vis og aktiv hvis den bliver slået til, og enable dem hvis den bliver slået fra.
Håber det er forklaring nok, til at der er nogle der kan hjælpe mig med at få det til at virke med Opera
Hilsen Glen