JavaScript Alle Ceckboxen an- oder abwählen

raven16

Lieutenant
Registriert
Nov. 2008
Beiträge
580
Hi,

ich habe meine Seite von Funpic nach nic verschoben, weil Funpic zu viele Fehler auf meiner Seite verursacht hat. Hab alles rübergeschoben und die neue Datenbank angepasst und nun steck ich bei einem Javascript fest, welches nicht funktioniert:

Javascript:
Code:
<script type="text/javascript" language="JavaScript">
         <!-- Begin
         function checkbox(btn,frm)
         {
            btn.checked=!btn.checked;
            cbs=frm['checkid[]'];
            for(var i=0;i<cbs.length;i++)cbs[i].checked=btn.checked;
         }
         //-->
</script>

Checkbox im Formular:
Code:
<input type="checkbox" name="checkid[]" value="'.$obj_get_noanswers->probid.'" style="margin:0px;">

Button zum An-/Abwählen:
Code:
<input class="buttontyp1" type="button" name="checkall" value="Alle an-/abwählen" onclick="checkbox(this,this.form)">

Das komische ist, das dieses Script bei Funpic funktioniert, bei NIC aber nicht...merkwürdig
 
Zuletzt bearbeitet:
ich würde den name/id eines elements keine eckigen klammern geben

und das hier:
Code:
<input type="checkbox" name="checkid[]" value="'.$obj_get_noanswers->probid.'" style="margin:0px;">

ist ja PHP mit HTML gemischt. da müsstest, wenn das wirklich im <?php ?> tag ist auch
die " mit \" escapen.

Nischd?
 
schau dir doch mal mootools an (oder sonst ein farmework)

das würde dann inetwa so aussehen:
Code:
function boxendings( [HTMLelement]  form )
{
  var checboxen = form.getElements('input[type=checkbox]'); // alle checkboxen der form
  checboxen.setProperty('checked','checked'); // alle wählen
  checboxen.removeProperty('checked'); // alle abwählen
}
 
Evtl. durch den ASCII-Binary-Modus bei der FTP-Übertragung irgendwas schief gelaufen?
Wegen dem Script, als kleiner Denkanstoß:
Code:
<html>
<head>
<title>checkCheckboxes</title>
<script type="text/javascript">
<!--
  var checkboxesStatus = new Array();
  function checkCheckboxes (pObject,pName) {
   var checkboxes = document.forms["one"].elements[pName];
   if (pObject.checked==true) {
    for (var i=0;i<checkboxes.length;i++) {
     checkboxesStatus[i] = checkboxes[i].checked;
     checkboxes[i].checked = true;
    }
   } else {
    for (var i=0;i<checkboxes.length;i++) {
     checkboxes[i].checked = checkboxesStatus[i];
    }
   }
  }
//-->
</script>
</head>
<body>
<form name="one" action="" method="post">
<br /><br />
<input type="checkbox" name="auswahl[]" value=""> Vorspeise <br>
<input type="checkbox" name="auswahl[]" value=""> Hauptgericht <br>
<input type="checkbox" name="auswahl[]" value=""> Nachspeise <br>
<input type="checkbox" name="two" value="" onclick="checkCheckboxes(this,'auswahl[]');"> Komplettes Men&uuml;
</form>
</body>
</html>
 
CreeTar schrieb:
ich würde den name/id eines elements keine eckigen klammern geben

und das hier:
Code:
<input type="checkbox" name="checkid[]" value="'.$obj_get_noanswers->probid.'" style="margin:0px;">

ist ja PHP mit HTML gemischt. da müsstest, wenn das wirklich im <?php ?> tag ist auch
die " mit \" escapen.

Nischd?

Also hab die [] bei checkid[] weg im JS-Script und im Formular entfernt >>>Keine Veränderung
und wieso muss ich das escapen, wenn ich bei php mit echo html-tags ausgeben kann?

Ich hab auch schon andere Scripts probiert aber die klappen irgendwie auch nicht :D
Bin auch nicht so der JS-Experte^^
 
ähm... hast du mehrere Checkboxen oder nur eine Checkbox "checkid" ?
Wenn es mehrere sind, dann gehört die Klammer hinzu - sonst wird doch beim Absenden des Formular nur ein Wert übertragen, nicht?
Ansonsten halte dich an das, was ryan_blackdrago geschrieben hat.

Mach übrigens mal das Begin von "<!-- Begin" weg - vielleicht gehts ja dann :-)
 
Hmmm ich möchte aber lieber nen Button als eine weiter Checkbox, womit ich alle anderen auswählen kann...

Das mit dem <!-- Begin wegmachen ist ne gute Idee, klappt aber leider nicht. Das dumme ist ja, dass auf Funpic genau dieses Script läuft und bei Nic nicht... wahrscheinlich liegt es wirklich am Anbieter, was anderes kann ich mir sonst nicht erklären :)

Kennt ihr sonst noch nen guten Anbieter außer Funpic wo man kostenlos PHP/MYSQL betreiben kann?

Ich könnte es vllt. auch mit Apache versuchen aber ich find das bequemer wenn die Seite schon online ist und ich die schon allen Freunden und so zeigen kann...

Und Geld für einen Webserver möchte ich erst ausgeben, wenn meine Seite fertig ist und ich es geschafft habe, dass die Voll-Funktionsfähig ist :)
 
Zurück
Oben