• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit tabber und checkboxen

mitch_m

Neues Mitglied
Mahlzeit zusammen
habe ein kleines Problem..
in der html Oberfläche sind Reiter (tabber.js) bis dahin funktioniert das alles...
nun sollen aber checkboxen reinkommen.. 14 stück 7 davon sollen unsichtbar sein.. das hab ich mit Javascript gemacht.. funktioniert auch... aber wenn ich jetzt die beiden sachen zusammen bringe dann werden die 7 Boxen nicht unsichtbar gemacht..

ausschnit aus dem code

<head>
<script language=JavaScript src=util.js></script>
<script type="text/javascript" src="tabber.js"></script>
<link rel="stylesheet" href="example.css" TYPE="text/css" MEDIA="screen">
<link rel="stylesheet" href="example-print.css" TYPE="text/css" MEDIA="print">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
document.write('<style type="text/css">.tabber{display:none;}<\/style>');/</script>
<script type="text/javascript">


window.onload = function load(){
for (var x=1; x<18; x++){
var id=x;
document.getElementById(x).style.display = "none";
}
}

function check2(){
if (document.getElementById("8.2").checked == true){
document.getElementById("1.2").checked = true;
document.getElementById("2.2").checked = true;
document.getElementById("3.2").checked = true;
document.getElementById("4.2").checked = true;
document.getElementById("5.2").checked = true;
document.getElementById("6.2").checked = true;
document.getElementById("7.2").checked = true;
}else if (document.getElementById("8.2").checked == false){
document.getElementById("1.2").checked = false;
document.getElementById("2.2").checked = false;
document.getElementById("3.2").checked = false;
document.getElementById("4.2").checked = false;
document.getElementById("5.2").checked = false;
document.getElementById("6.2").checked = false;
document.getElementById("7.2").checked = false;
}
}
function check(){

for(var i=1;i<18;i++){
if (document.getElementById(i+".2").checked == false){
document.getElementById(i).checked = true;
}else if (document.getElementById(i+".2").checked == true){
document.getElementById(i).checked = false;
}
}
}


/* Optional: Temporarily hide the "tabber" class so it does not "flash"
on the page as plain HTML. After tabber runs, the class is changed
to "tabberlive" and it will appear. */




</script>



</head>
<body bgcolor=#FFFFFF link=#CCCCCC vlink=#CCCCCC alink="#FFFFFF" ><br>
<font size="3" face="Arial"><b>Gruppenruf Selbsthaltung: &LBAS(1,"%fs",VERS$);</b></font><br><br>
</font>
<form action=setup.cgi method=get><input type="hidden" name=L value=uisaved.html >
<div class="tabber">
<div class="tabbertab"> <h2>Zeitsteuerung</h2>
<p><table>


<!--Zeile 2-->
<tr>
<td>
<br> <font size="3" face="Arial, Helvetica, sans-serif">
<b>Relais 1</b></font>

</td>
</tr>
<tr>
<td>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Anschaltzeit:</b></font>
</td>
<td>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Wochentage auswählen</b></font>
</td>
</tr>
<tr>
<td>
<input name=B513 size=2 maxlength=2 value=&LSetup(1,"%u",513);>
<a>:</a>
<input name=B514 size=2 maxlength=2 value=&LSetup(1,"%u",514);>
</td>
<td>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Mo &nbsp;</b></font>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Di &nbsp;</b></font>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Mi &nbsp;</b></font>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Do &nbsp;</b></font>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Fr &nbsp;</b></font>
<font color="#FF0000" size="2" face="Arial, Helvetica, sans-serif">
<b>Sa &nbsp;</b></font>
<font color="#FF0000" size="2" face="Arial, Helvetica, sans-serif">
<b>So &nbsp;</b></font>
<font size="2" face="Arial, Helvetica, sans-serif">
&nbsp;
<b>Alle</b></font>
</td>
<tr>
<td>
<font size="2" face="Arial, Helvetica, sans-serif">
<b>Ausschaltzeit:</b></font>
</td>
<td>
<input name="B521" id="1" type=Checkbox type="hidden" value=0&LSetup(3,"%s",521,B,0,");>
<input name="B521" id="1.2" type=Checkbox value=1&LSetup(3,"%s",521,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta1$);>
<input name="B522" id="2" type=Checkbox value=0&LSetup(3,"%s",522,B,0,");>
<input name="B522" id="2.2" type=Checkbox value=1&LSetup(3,"%s",522,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta2$);>
<input name="B523" id="3" type=Checkbox value=0&LSetup(3,"%s",523,B,0,");>
<input name="B523" id="3.2" type=Checkbox value=1&LSetup(3,"%s",523,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta3$);>
<input name="B524" id="4" type=Checkbox value=0&LSetup(3,"%s",524,B,0,");>
<input name="B524" id="4.2" type=Checkbox value=1&LSetup(3,"%s",524B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta4$);>
<input name="B525" id="5" type=Checkbox value=0&LSetup(3,"%s",525B,0,");>
<input name="B525" id="5.2" type=Checkbox value=1&LSetup(3,"%s",525,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta5$);>
<input name="B526" id="6" type=Checkbox value=0&LSetup(3,"%s",526,B,0,");>
<input name="B526" id="6.2" type=Checkbox value=1&LSetup(3,"%s",526,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta6$);>
<input name="B527" id="7" type=Checkbox value=0&LSetup(3,"%s",527,B,0,");>
<input name="B527" id="7.2" type=Checkbox value=1&LSetup(3,"%s",527,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta7$);>
&nbsp;
<input name="B528" id="8" type=Checkbox value=0&LSetup(3,"%s",528,B,0,");>
<input name="B528" id="8.2" type=Checkbox value=1&LSetup(3,"%s",528,B,1,"); onclick="javascript:check2()" &LBAS(1,"%fs",stat$);>
</td>
</tr>
<tr>
<td>
<input name=B515 size=2 maxlength=2 value=&LSetup(1,"%u",515);>
<a>:</a>
<input name=B516 size=2 maxlength=2 value=&LSetup(1,"%u",516);>
</td>
</tr>
</table></p>
</div>
</div>

mit <body... onload="java.... "> funktioniert es auch nicht..

gibts dafür eine lösung? will aber jetzt auch nciht das ganze neu umbauen und andere register nehmen
 
IDs sollten nicht mit Zahlen beginnen und erst recht nicht ausschließlich aus Zahlen bestehen. Da muss mindestens ein Buchstabe am Anfang sein damit es klappt.
 
das klappt ja alles auch mit zahlen... allerdings nur ohne die tabber geschichte

Also das die Tab Geschichte mit Nummern Ids funktioniert wäre reine Glückssache :) eigentlich dürfen die Ids von HTML Elementen nicht mit einer Zahl anfangen.
SELFHTML: HTML/XHTML / Referenz /HTML-Attribut-Referenz

Dann eine ernsthaft und nicht böshaft gemeinte Frage. Hast du Html gelernt oder hast du deinen Code irgend woher "zusammenkopiert" ?
Denn das Html sieht etwas grauselig aus :) (Immer noch nicht böse gemeint)

Als Beispiel:
HTML:
<input name="B521" id="1" type=Checkbox type="hidden" value=0&LSetup(3,"%s",521,B,0,");>

- du hast benutzt wie schon oben erwähnt als id nur eine Nummer
- du hast 2 mal das Attribut type definiert. (Einmal sogar groß geschrieben und ohne ") In der Regel sollte der Browser dort das zuerst definierte Attribut nehmen (also checkbox).
- Was soll die Value machen? Die Value übergibt den Wert im Normalfall an das Dokument, das durch die Form aufgerufen wird (bei dir setup.cgi)
- Die schreibweise ohne " für die Attribute erlaubt es im Normalfall nur, dass der Wert bis zum nächsten Leerzeichen ausgewertet wird (Wenn der Browser mehr macht ist er gnädig :))

Weiter zum nächsten Element ;)
HTML:
<input name="B521" id="1.2" type=Checkbox value=1&LSetup(3,"%s",521,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",sta1$);>

Was soll dieser Teil hier machen? onclick="javascript:check()" &LBAS(1,"%fs",sta1$);
Er führt so weit ich das urteilen kann die Funktion check aus.
Dann sucht er nach einem Attribut mit dem Namen LBAS. Das kennt die HTML Referenz aber leider nicht.
Also bitte einmal schreiben, was denn hier genau passieren soll, dann können wir dir helfen das zu fixen :)

Und nur als Tip für das Html. Um Html zu stylen gibt es CSS. CSS 4 You - The Finest in Stylesheets
Wie gesagt ist das hier alles nur konstruktive Kritik. Also bitte nicht böse sein. :)
 
<input name="B521" id="1" type=Checkbox type="hidden" value=0&LSetup(3,"%s",521,B,0,");>Dss.. hab ich war nur ein test^^ war mir klar dass es nicht läuft... hab es falsch reinkopiert.. also vergisst es.. das mit dem hidden ist nun weg..
die ID's hab ich nun auch in C1 usw. umgeändert

und obs ich selber gelernt habe.. JA:D:D:D



<input name="B521" id="1.2" type=Checkbox value=1&LSetup(3,"%s",521,B,1,"); onclick="javascript:check()" &LBAS(1,"%fs",

DAS "&LBAS(1,"%fs",sta1$);> ist ein spzielles Attribut von Barix... (ist so I/O Modul Wo eine HTML oberfläche mit einem Microcontroller zusammen arbeitet.. und um daten vom speicher zu html zu übernehmen braucht mal diesen LBAS.. er macht nix anderes als den wert der sich in sta1$ befindet ins html zu schreiben...
in sta1$ habe ich den string "checked" der überschreibt dann das ganze &LBAS(1,"%fs",sta1$); in checked.. so speichert der ob die checkbox gesetzt ist oder nicht
 
value=0&LSetup(3,"%s",521,B,0,");> und hier übernimmt der die value von der checkbox ... also 1 oder 0 uns speichert sie wie oben auch in den EEPROM ab womit dann der Prozessor arbeiten kann...

da hab ich dann if (dieses setup teil von oben) = 1 then sta1$ = "checked"

dadurch merkt der sich den gesetzten hacken

da ich es aber nicht ohne 2 checkboxen hinbekommen habe soll halt eine davon unsichtbar sein...

dies klappt dann aber nicht im zusammen spiel mit dem tabber.js
 
Zurück
Oben